https://school.programmers.co.kr/learn/courses/30/lessons/42746
근데 규칙 설정하기가 너무 어렵다. 포기
Arrays.sort(numberStr, (s1, s2) -> (s2+s1).compareTo(s1+s2));
s2+s1와 s1+s2를 비교하여 더 큰 수를 반환하도록 한다.
package programmers.level2.pm42746;
import java.util.*;
public class Solution {
public String solution(int[] numbers) {
String answer = "";
String[] numberStr = new String[numbers.length];
for(int i=0;i<numbers.length;i++)
numberStr[i] = String.valueOf(numbers[i]);
Arrays.sort(numberStr, (s1, s2) -> (s2+s1).compareTo(s1+s2));
for(String str: numberStr)
answer += str;
if(answer.charAt(0) == '0'){
answer = "0";
}
return answer;
}
}
개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.