👀 문제
https://school.programmers.co.kr/learn/courses/30/lessons/42746?language=kotlin
👊 도전
1. 설계
- 문제 조건에 맞게 진행
2. 구현
1
2
3
4
5
6
7
8
9
10
fun solution(numbers: IntArray): String {
return if (numbers.all { it == 0 }) "0"
else
numbers.sortedWith(
kotlin.Comparator { o1, o2 ->
"$o2$o1".compareTo("$o1$o2")
}
).joinToString("")
}
}
3. 결과
🤟 성공 🤟
4. 설명
- 문자열 기준 내림차순 정렬한다
- numbers를 String으로 변환 후 문자열 기준 내림차순 정렬한다.
- 3, 30은 30, 3 순으로 정렬되야 한다. 이 케이스에 의해 Comparator을 이용하여 “$o1$o2”, “$o2$o1”을 만들어 보고 내림차순으로 정렬한다.
- [0,0,0]인 경우 “000”이 아닌 0을 리턴해야 하므로 예외 케이스를 추가한다.