#12931
문제
🧩 Thought Process
- 숫자를 문자열로 바꾼다.
- 문자열을 char 배열로 바꾼다.
- 각 배열의 엘레먼트를 정수형으로 바꾼다.
- 배열에 있는 모든 수를 더한다.
class Solution {
fun solution(n: Int): Int {
var answer = 0
var nString = n.toString() // 1. 숫자를 문자열로 바꾼다.
var nCharArray = nString.toCharArray() // 2. 문자열을 CharArray로 바꾸어준다.
var arraySize = nCharArray.size // array size를 찾아준다.
val nIntArray = nCharArray.map(Char::toInt) //3.Array 안의 elements를 정수형으로 바꾸어준다.
println(nIntArray) // 정수형으로 바뀐 정수형 array 확인
println(nIntArray[0])
println(nIntArray[1])
println(nIntArray[2])
return answer
}
}
어제 한침 이 문제에 봉착해 있었다.
charArray를 IntArray로 바꾸자 IntArray가 [55, 56, 57]을 출력했기 때문이다. 원래 [1,2,3]이 나와야하는데...
이 에러는 아래 웹사이트에서 해결책을 찾았다..
https://blog.jdriven.com/2019/10/converting-char-to-int-in-kotlin/
Converting Char to Int in Kotlin
The Kotlin standard library contains a lot of helper functions on top of the Java standard library for our convenience. Some of those functions help us in converting between different data types. For
blog.jdriven.com
.toInt() 대신에 .digitToInt()를 입력해보았다. (됐다아아아아ㅏ!!)
class Solution {
fun solution(n: Int): Int {
var answer = 0
var nString = n.toString() // 1. 숫자를 문자열로 바꾼다.
var nCharArray = nString.toCharArray() // 2. 문자열을 CharArray로 바꾸어준다.
var arraySize = nCharArray.size // array size를 찾아준다.
for (i in 0 until arraySize) { // 4. for loop 사용해서 모든 자리수를 더해준다
answer += nCharArray[i].digitToInt() // .digitToInt()를 사용해서 모든 자리수를 정수형으로 변환시켜준다.
}
return answer
}
}
한참 막혔다가 풀리니까 개운하다! :)))
'Kotlin > Programmers Algorithm' 카테고리의 다른 글
[프로그래머스 - 코틀린] 문자열을 정수로 바꾸기 #12925 (0) | 2023.10.21 |
---|---|
[프로그래머스 - 코틀린] 자연수 뒤집어 배열로 만들기 #12932 (0) | 2023.10.21 |
[프로그래머스 - 코틀린] x만큼 간격이 있는 n개의 숫자 #12954 (0) | 2023.10.21 |
[프로그래머스 - 코틀린] 나머지가 1이 되는 수 찾기 #87389 (0) | 2023.10.20 |
[프로그래머스 - 코틀린] 약수의 합 #12928 (0) | 2023.10.20 |