# 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
'IT > 알고리즘 문제' 카테고리의 다른 글
프로그래머스 - 베스트앨범 (0) | 2021.09.16 |
---|---|
프로그래머스 - H Index (0) | 2021.09.13 |
프로그래머스 - 입양 시각 구하기(1) (0) | 2021.03.29 |
프로그래머스 - 동명 동물 수 찾기 (0) | 2021.03.29 |
프로그래머스 - 3진법 뒤집기 (0) | 2020.12.04 |