본문 바로가기
코딩테스트/프로그래머스

[프로그래머스] 정렬 : 가장 큰 수

by 일상 속 둔치 2020. 9. 26.

이번 문제도 정렬하는 문제이다.

 

배열의 정렬 기준을 커스텀 할 수 있는가를 물어보는 문제인 것 같다.

 

여기서 정렬 기준은 기존의 각 항목들이 큰지 비교하는 것이 아닌 두개를 붙였을 때 어떤게 더 큰지 비교해야한다.

 

즉, 10과 2를 비교할 때 10 > 2이면 102로 정렬이 되기 때문에 안되고

 

102와 210을 비교해야한다.

 

Kotlin에서는 collection 객체에 sortedWith를 통해 정렬 기준을 부여할 수 있다.

 

import java.util.*

class Solution {
    fun solution(numbers: IntArray): String {
        var answer = ""

        numbers.sortedWith(Comparator({ o1, o2 ->
            "$o2$o1".compareTo("$o1$o2")
        })).forEach({answer += it})

        if(answer[0].equals('0')) answer = "0"

        return answer
    }
}

댓글