17. 자연수 뒤집어 배열로 만들기
class Solution {
fun solution(n: Long): IntArray =
n.toString().reversed().map { it.toString().toInt() }.toIntArray()
}
어제 했던거랑 비슷해서 할 수 있을줄 알았는데 map 을 잘 몰라서 결국 오늘도 검색함.
오늘 새로 알게된 함수는 두가지다 map 이랑 reversed (이전에 배웠을지도 모르지만 기억이 잘 안난다...)
map : 원소를 원하는 형태로 변환하는 기능이다. 변환한 결과를 모아서 새 컬렉션을 만든다.
reversed : 배열을 뒤집은 후 새로운 객체에 할당하는 list형 함수
n을 string 으로 바꾸고 배열을 뒤집은 후 map을 이용해 string으로 바꾼 it 에 넣는다.
그걸 다시 Int로 바꿔서 결과를 IntArray로 바꿔서 보여준다.
아래는 위를 인텔리제이에서 실행 가능하게 바꾼 코드다.
fun main() {
val solution = Solution()
val result = solution.solution(12345L)
println(result.contentToString()) // Output: [5, 4, 3, 2, 1]
}
여기서 solution() 안에 숫자 뒤에 L이 붙는게 궁금해서 이것도 물어봤다.
Kotlin에서 숫자 상수를 작성할 때, 숫자가 어떤 타입인지를 명시하기 위해 접미사(suffix)를 사용할 수 있습니다.
여기서 L은 Long 타입을 나타냅니다. 따라서 12345L는 12345라는 숫자를 Long 타입으로 나타낸 것입니다. 만약 L을 붙이지 않으면 기본적으로 Int 타입으로 간주됩니다.
컴파일러가 암시적인 형변환을 피하기 위해 명시적으로 Long 타입을 지정하는 것이 좋습니다. 그렇지 않으면 기본적으로 Int로 간주되어 정확한 표현이 어려울 수 있습니다.
'TIL ~ 24.04.05' 카테고리의 다른 글
문자열을 정수로 바꾸기 / 정수 제곱근 판별 (0) | 2023.12.13 |
---|---|
20231212 TIL (0) | 2023.12.13 |
20231211 TIL (0) | 2023.12.11 |
x만큼 간격이 있는 n개의 숫자 (0) | 2023.12.11 |
20231210 TIL (0) | 2023.12.11 |