function solution(n) {
let answer = []
let arr = []
// 먼저 split함수로 받아온 자연수를 string타입으로 변환하여
// arr배열에 하나씩 할당한다.
arr = (n + "").split("")
// reduce함수로 arr배열에 있는 값들을
// answer배열에 unshift로 앞으로 넣어준다.
arr.reduce((acc, curr) => {
answer.unshift(parseInt(curr))
}, 0)
return answer
}
받아온 n을 문자열로 바꿔 배열에 하나하나 넣는 방법을 떠올렸을 때 for문이 제일 먼저 생각이 나서 다른 방법을 모색하였다.
split함수로 1줄로 해결할 수 있었다.
function solution(n) {
// 숫자풀이
var arr = [];
do {
arr.push(n%10);
n = Math.floor(n/10);
} while (n>0);
return arr;
}
이분은 수학적인 방법은 풀어서 재밌어서 가져왔다.
먼저 do안에 있는 arr.push(n%10)로 5가 arr로 들어가고
n은 Math.floor(n/10)로 n을 10으로 나누고 소수값을 없애면서 n을 0까지 줄여나가면서 n % 10의 나머지값을 arr배열에 push로 넣어준다.