Programmers - 가장 큰 수

문제 링크

screenshot

Java 풀이

import java.util.Arrays;
import java.util.Comparator;

class Solution {
    public String solution(int[] numbers) {
        String answer = "";
        String[] strings = new String[numbers.length];
        
        for(int index = 0; index < numbers.length; index = index + 1){
            strings[index] = String.valueOf( numbers[index] );
        }
        
        Arrays.sort(strings, new Comparator<String>(){
            @Override
            public int compare(String a, String b) {
                // return a - b;
                return (b + a).compareTo(a + b);
            }
        });
        
        answer = strings[0].equals("0") ? "0" : String.join("", strings);
        
        return answer;
    }
}

Javascript 풀이

function solution(numbers) {
    var answer = '';
    var index;
    
    for(index = 0; index < numbers.length; index = index + 1){
        numbers[index] = numbers[index].toString();
    }
    numbers.sort(function(a, b){
        return ( b + a ) - ( a + b );
    });
    answer = numbers[0] === '0' ? '0' : numbers.join('');
    return answer;
}