[프로그래머스] 자연수 뒤집어 배열로 만들기 - JavaScript

coderH·2022년 9월 24일
0

프로그래머스코테

목록 보기
22/27
post-thumbnail

자연수 뒤집어 배열로 만들기

문제

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

제한 조건

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

입출력 예

nreturn
12345[5,4,3,2,1]

정답

function solution(n) {
    const arr = n.toString().split("").reverse();
    return arr.map(num => +num);
}

풀이

매개변수 n은 Number 타입이기 때문에 모두 한 자리로 만들기 위해 toString 메소드를 통해 문자열로 변경한 뒤 split메소드를 사용합니다.

이후 reverse 메소드를 통해 배열들의 순서를 반대로 뒤집고
마지막 return문에서 map 메소드를 통해 각 요소들을 순회하면서 각 요소들을 다시 Number타입으로 변경합니다.

다른 풀이

위 풀이의 경우 정답을 구하기 위해 Number -> String -> Number 로 타입을 변경해줘야 하는 불편함이 있는데 아래와 같이 풀이를 작성한다면 Number타입을 유지한 채 문제를 해결할 수 있습니다.

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

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

    return arr;
}

0개의 댓글