문제
문제 풀이
정렬 문제에서는 Stream Api에서 제공하는 함수를 잘 사용을 하면 쉽게 문제를 풀 수 있다고 생각한다.
기본적으로 sort 함수를 이용할 시 comparable 클래스를 오버라이딩을 해야하지만 람다식을 사용을 하면 간단하게 오버라이딩이 가능하다.
문자열 기준으로 정렬을 하려고 하면 s1.compareTo(s2) 식으로 비교하여야 한다.
나의 답안
public static String solution(int[] numbers) {
String[] a = Arrays.stream(numbers).mapToObj(String::valueOf).toArray(String[]::new);
Arrays.sort(a, (o1, o2) -> (o2 + o1).compareTo(o1 + o2));
if ("0".equals(a[0])) return "0";
return Arrays.stream(a).reduce("", (s1, s2) -> s1 + s2);
}