문제 설명 |
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. |
제한 조건 |
|
입출력 예 | |
n | return |
12345 | [5,4,3,2,1] |
나의 풀이
1. 리턴할 IntArray() 배열 생성
2. long의 끝자리부터 차례로 배열에 넣기
class Solution {
fun solution(n: Long): IntArray {
val answer = IntArray(n.toString().length)
var number = n
for (i in n.toString().indices) {
answer[i] = (number%10).toInt()
number /= 10
}
return answer
}
}
원래는 split()과 reverse()를 이용해 바로 넣으려고 했는데 List<String>을 IntArray로 변경하는 데에서 막혀 포기했고, 그냥 베이직한 방법으로 소스를 작성했다. |
Kotlin1 코드 정리
class Solution {
fun solution(n: Long): IntArray {
return n.toString().reversed().map { it.toString().toInt() }.toIntArray()
}
}
class Solution {
fun solution(n: Long): IntArray {
return n.toString()
.reversed()
.split("")
.filter { it != "" }
.map { it.toInt() }
.toIntArray()
}
}
* map() : 값을 변형해서 새로운 리스트 생성
'프로그래머스 > Kotlin | Level1' 카테고리의 다른 글
[프로그래머스/Kotlin]Level1 - 정수 제곱근 판별 (0) | 2021.09.22 |
---|---|
[프로그래머스/Kotlin]Level1 - 이상한 문자 만들기 (0) | 2021.09.17 |
[프로그래머스/Kotlin]Level1 - 핸드폰 번호 가리기 (0) | 2021.09.15 |
[프로그래머스/Kotlin]Level1 - 행렬의 덧셈 (0) | 2021.09.15 |
[프로그래머스/Kotlin]Level1 - 가운데 글자 가져오기 (0) | 2021.08.25 |