[프로그래머스 / 자연수 뒤집어 배열로 만들기] Java Script

윤상일·2022년 7월 4일
0

프로그래머스 Lv.1

목록 보기
3/15
post-thumbnail

문제 설명

자연수 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;
}

코드 설명

1. 문제 분석

처음엔 splite 메소드와 reverse 메소드를 사용하여 뒤집어진 배열을 
만든 후 각 인덱스의 값을 다시 number형으로 바꾸어주면 될거같았는데
생각해보니 그렇게 좋은 코드는 아닌거같았다.
다시 정수형으로 바꾸어주는 과정까지 대략 2n 정도의 시간 복잡도가 
걸릴것 같았기 때문이다.
그래서 처음부터 숫자형태로 하나하나씩 빼서 배열에 저장한다면
딱 n의 복잡도로 문제를 해결 할 수 있다고 생각하였고 위와 같이 해결하였다.

2. 문제 풀이

풀이과정은 어떤 값이든 10으로 나머지 연산을 하면 마지막 일의자리 숫자
가 나오게 된다. 
그리고 10을 나눈 몫은 일의자리를 제외한 숫자가 나오게된다.
그 과정을 반복하여 몫이 0이 나올때까지 반복해준다면
모든 자리수의 숫자를 배열에 저장할 수 있게된다.
profile
멋있는 개발자를 꿈꾸는 코린이

0개의 댓글