https://programmers.co.kr/learn/courses/30/lessons/42746
import java.io.*;
import java.util.*;
class Solution {
public String solution(int[] numbers) {
String answer = "";
String[] str_arr = new String[numbers.length];
for (int i = 0; i < numbers.length; i++) {
str_arr[i] = String.valueOf(numbers[i]);
}
Arrays.sort(str_arr, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return (o2 + o1).compareTo(o1 + o2);
}
});
for (String s : str_arr) {
answer += s;
}
return str_arr[0].equals("0") ? str_arr[0] : answer;
}
}
혼자서 풀 때 Arrays.sort
에서 compare
부분을 열심히 수정해봤지만 계속해서 틀렸습니다가 나왔다.
구글 선생님의 도움을 받았더니 (뒤 문자열 + 앞 문자열).compareTo(앞 문자열 + 뒤 문자열)
라는 좋은 방법이 있었다.. 혼자서 생각해내지 못한 게 아쉽다. 흑 🥲