자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
입출력 예
function solution(n) {
var answer = [];
while(n>0){
answer.push(n%10);
n=Math.floor(n/10);
}
return answer;
}
처음엔 splite 메소드와 reverse 메소드를 사용하여 뒤집어진 배열을
만든 후 각 인덱스의 값을 다시 number형으로 바꾸어주면 될거같았는데
생각해보니 그렇게 좋은 코드는 아닌거같았다.
다시 정수형으로 바꾸어주는 과정까지 대략 2n 정도의 시간 복잡도가
걸릴것 같았기 때문이다.
그래서 처음부터 숫자형태로 하나하나씩 빼서 배열에 저장한다면
딱 n의 복잡도로 문제를 해결 할 수 있다고 생각하였고 위와 같이 해결하였다.
풀이과정은 어떤 값이든 10으로 나머지 연산을 하면 마지막 일의자리 숫자
가 나오게 된다.
그리고 10을 나눈 몫은 일의자리를 제외한 숫자가 나오게된다.
그 과정을 반복하여 몫이 0이 나올때까지 반복해준다면
모든 자리수의 숫자를 배열에 저장할 수 있게된다.