가장 큰 수

문제


문제 풀이

정렬 문제에서는 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);
}

'Programmers 문제풀이 > Lv.2' 카테고리의 다른 글

예상 대진표  (0) 2023.03.31
구명보트  (0) 2023.03.31
카펫  (0) 2023.03.30
영어 끝말잇기  (0) 2023.03.30
짝지어 제거하기  (0) 2023.03.30