import java.util.Arrays;
import java.util.Comparator;
public class MaxNum {
public String solution(int[] numbers) {
String answer = "";
String[] arr = new String[numbers.length];
for (int i = 0; i < arr.length; i++) {
arr[i] = numbers[i] + "";
}
Arrays.sort(arr, new Comparator<String>() {
public int compare(String o1, String o2) {
String s1 = o1 + o2;
String s2 = o2 + o1;
if (s1.compareTo(s2) > 0) {
return -1;
} else if (s1.compareTo(s2) < 0) {
return 1;
}
return 0;
}
});
for (String ele : arr) {
answer += ele;
}
return answer.charAt(0) == '0' ? "0" : answer;
}
public static void main(String[] args) {
MaxNum s = new MaxNum();
int numbers1[] = { 6, 10, 2 };
int numbers2[] = { 3, 30, 34, 5, 9 };
int numbers3[] = { 0, 0, 0 };
System.out.println(s.solution(numbers1));
System.out.println(s.solution(numbers2));
System.out.println(s.solution(numbers3));
}
}
Arrays.sort(array, new Comparator<Integer>(){ ... 일 때 array 가 만약 int 타입이면 컴파일 에러가 발생한다.
int -> Integer타입으로 변환 하여 구현