문제 설명 |
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. |
제한 조건 |
|
입출력 예 | |
n | return |
118372 | 873211 |
나의 풀이
1. 매개변수 n을 string값으로 변경한 후, 각 문자들을 자른 문자열을 배열 array에 넣는다.
2. array를 오름차순으로 정렬한다.
3. 오름차순으로 정렬한 array를 내림차순으로 합쳐 string변수 answer에 넣는다.
4. answer를 long으로 변환하고 리턴한다.
class Solution {
fun solution(n: Long): Long {
var array = n.toString().toCharArray()
array.sort()
var answer = ""
for (a in array)
answer = a + answer
return answer.toLong()
}
}
Kotlin1 코드 정리
class Solution {
fun solution(n: Long): Long {
val s = n.toString()
var array = ArrayList<Int>()
for(c in s) {
array.add(c.toInt() - 48)
}
array.sortDescending()
var answerString = ""
for(i in array) {
answerString += "$i"
}
return answerString.toLong()
}
}
class Solution {
fun solution(n: Long): Long = String(n.toString().toCharArray().sortedArrayDescending()).toLong()
}
'프로그래머스 > Kotlin | Level1' 카테고리의 다른 글
[프로그래머스/Kotlin]Level1 - 나누어 떨어지는 숫자 배열 (0) | 2021.09.23 |
---|---|
[프로그래머스/Kotlin]Level1 - 서울에서 김서방 찾기 (0) | 2021.09.23 |
[프로그래머스/Kotlin]Level1 - 정수 제곱근 판별 (0) | 2021.09.22 |
[프로그래머스/Kotlin]Level1 - 이상한 문자 만들기 (0) | 2021.09.17 |
[프로그래머스/Kotlin]Level1 - 자연수 뒤집어 배열로 만들기 (0) | 2021.09.17 |