자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
class Solution {
fun solution(n: Long): IntArray {
val nStr = n.toString()
val num = nStr.length
val answer = IntArray(num)
for (i in nStr.indices) {
answer[i] = nStr[i].toString().toInt()
}
return answer.reversedArray()
}
}
일단 n을 문자열로 만들어서 배열에 넣어야 할 것 같았는데
순서를 바꿔야해서 수학적인 공식을 고민하다가
reversedArray()라는 함수를 사용하면 될 것같아서 해봤다.
nStr 이라는 변수에 n을 문자열로 만들어 저장하고
num 변수에 nStr문자열의 길이를 저장함
for 문으로 문자열의 인덱스 만큼 반복해서 answer 에 i 인덱스 에 nStr의 i 인덱스 값을 Int로 변환해서 넣어주고
(여기서 nStr[i].toInt()가 아닌 이유는
문자열에 저장될때 Char로 저장되는데 Char에서 1을 그냥 Int로 변환하면
우리가 원하는 숫자 값이 아니라 해당 문자의 ASCII 값으로 변환 되기 때문임
리턴할때 reversedArray() 함수로 배열의순서를 뒤집어서 리턴해줌