728x90
풀이
class Solution {
fun solution(numbers: IntArray): String {
if(numbers.contentEquals(IntArray(numbers.size){0})) return "0"
return numbers
.map { it.toString().repeat(3) }
.sortedByDescending { it }
.map { it.slice(IntRange(0,it.length/3-1)) }
.joinToString("")
}
}
출처
코딩테스트 연습 - 가장 큰 수
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰
programmers.co.kr
728x90
'Algorithm > Programmers' 카테고리의 다른 글
Programmers 스택/큐::레벨2::프린터 (0) | 2022.04.08 |
---|---|
Programmers :: 해시 전화 번호 목록 레벨2 (0) | 2022.03.26 |
Programmers :: Heap(힙) 더 맵게 레벨2 (0) | 2022.03.23 |
Programmers :: DFS(깊이 우선 탐색법) 네트워크 레벨 3 (0) | 2022.03.23 |
Programmers :: Greedy(탐욕법) 체육복 레벨1 (0) | 2022.03.15 |