#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/
.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 |