자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
n은 10,000,000,000이하인 자연수입니다.
n | return |
---|---|
12345 | [5,4,3,2,1] |
1. 숫자를 문자로 바꾼다음 for문의 '--'감소를 이용해 n의 반대로 순서로 배열에 입력하자.
2. 입력 하기전 숫자로 다시 변경해 주자
function solution(n) {
let answer = []
//문자열로 변경한 이유 = 숫자는 length를 인식 못하기 때문!
let toStr = n.toString();
for(let i = toStr.length-1; i >= 0 ;i--) {
answer.push(parseInt(toStr[i]))
}
return answer
}
i를 -- 줄여 주었다.
최종 결과는 배열안에 숫자열로 들어가야 해서
문자열로 변경해 주었던 것은 다시 parseInt()으로 숫자로 변경해 주었다.
return (n+"").split("").reverse().map(v => parseInt(v));
처음 부터 배열로 만들어서 배열에 관련된 매서드를 사용해서 문제를 풀었다.
(n+"")
n에 ''빈 문자열을 더해 줘서 문자열로 변경해 준다음.
split("")
문자 하나씩 잘라냈다.
reverse()
배열을 반대로 정렬해주는 매서드
map
각 배열안에 문자를 parseInt()으로 숫자로변경
풀이 과정은 비슷 했지만, 처음 사용하고 싶었던 배열 관련된 매서드를 split을 이용해서 배열로 변경한다음 사용했으면 하는 아쉬움이 남는다.