자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
function solution(n) {
var answer = [];
let s = n.toString() // 숫자를 문자열로 만들고
for(let i = s.length; i > 0; i--){ //String의 맨뒤 글자부터 한글자씩 잘라서 int형으로 변환후
answer.push(parseInt(s.substr((i-1), 1))) // answer 배열에 넣어주었다.
}
return answer;
}
다른 사람들의 풀이
function solution(n){
var answer = []
do{
answer.push(n%10)
n = Math.floor(n/10)
} while ( n > 0 )
return answer;
}
위 풀이는 산수처럼 계산하였다. n을 10으로 나눈 나머지(1의 자리)를 answer에 제일 먼저 넣어주고, n을 10으로 나눈 뒤 내림 함수로 원래 있던 1의 자리를 없애고 10의 자리가 1의 자리가 된 n을 만든다.
(ex. n = 73472 > answer.push(2) > 7347.2 > n = 7347 > ... > answer = [2, 7, 4, 3, 2]