IT/알고리즘 문제

프로그래머스 - 가장 큰 수

금마s 2021. 9. 13. 21:32

# JAVA

import java.util.Arrays;
import java.util.Comparator;
class Solution {
    public String solution(int[] numbers) {
        String answer = "";
        String arrNum[] = new String[numbers.length];

        for(int i=0; i<arrNum.length; i++) {
            arrNum[i] = String.valueOf(numbers[i]);
        }

        Arrays.sort(arrNum, new Comparator<String>() {
            public int compare(String o1, String o2) {
                return (o2+o1).compareTo(o1+o2);
            }
        });

        if(arrNum[0].equals("0")) { 
            return "0";
        } else {
            for(int j=0; j<arrNum.length; j++) {
                answer += arrNum[j];
            }
        }

        return answer;

    }
}

 > 핵심은 sort시 compare 부분이다. 사진을 참조해보면 이해에 도움이 될 것이다.

✔ sort시 compareTo했을 때 작은 것을 앞으로 빼오고, 큰걸 뒤로 보낸다.

728x90