코딩테스트

[코테] 프로그래머스 Lv.1 자연수 뒤집어 배열로 만들기

ksh21 2022. 10. 17. 19:36

[문제]

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

 

 

[제한사항]

n은 10,000,000,000이하인 자연수입니다.

 

 

[입출력 예]

n return
12345 [5,4,3,2,1]

 

 

[Solution]

function solution(n) {
    
    return  n.toString().split("").reverse().map((x)=>parseInt(x))
}

 

 

reverse()
-배열을 거꾸로 뒤집는 매서드

 

 


 

(+)  다른 사람들이 작성한 풀이를 보다가 진짜 신박한 풀이를 발견했다

 

function solution(n) {
    var arr = [];

    do {
        arr.push(n%10);
        n = Math.floor(n/10);
    } while (n>0);

    return arr;
}

 

n이 12345라고 가정했을 때 먼저 n을 10으로 나눴을 때의 나머지 5를 배열에 넣고

'n = Math.floor(n/10)'을 통해 n=1234로 만든다

 

이 과정을 반복하면 [5,4,3,2,1]이 차례로 담기게 되는데 진짜 이런 생각은 어떻게 하는건지..

너무 신박하다...