Arrays.sort(array, new Comparator<Class>() { /*compare() 메소드*/ });
public int compare(Object object1, Object object2) {return /*비교 결과 계산*/}
a.compareTo(b)
a가 b보다 큰 지 작은 지 비교해서 숫자로 알려줌
사용 이유:
compare() 메소드를 구현할 때 두 매개변수의 비교 결과를 계산하기 위해 사용함
a+b가 큰 지, b+a가 큰 지 계산함
import java.util.Arrays;
import java.util.Comparator;
public class NUM42746 {
public static void main(String[] args) {
int[] array = {3, 30, 34, 5, 9};
System.out.println((solution(array)));
}
public static String solution(int[] numbers) {
String answer = "";
String[] nums = new String[numbers.length];
for(int i = 0; i < numbers.length; i++) {
nums[i] = numbers[i] + "";
}
Arrays.sort(nums, new Comparator<String>() {
public int compare(String a, String b) {
return (b+a).compareTo(a+b);
}
});
for(int i = 0; i < numbers.length; i++) {
answer += nums[i];
}
if(answer.charAt(0) == '0') answer = "0"; //{0000...0}일 경우
return answer;
}
}
*다른 분들의 코드를 참고하여 작성했습니다