본문 바로가기
Developer/Algorithm

Programmers 프로그래머스 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 (JavaScript)

by roqkfrlfhr 2020. 9. 3.

Programmers 프로그래머스 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 (JavaScript)

 

Programmers의 코딩테스트 연습문제 Level 1의 자연수 뒤집어 배열로 만들기 문제를 JavaScript를 사용하여 문제를 풀어보도록 하겠습니다.

 

문제 설명

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

 

제한 조건

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

 

입출력 예

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

 

작성한 답

solution.js

function solution(n) {
    return n.toString().split('').map(v=>+v).reverse();
}

 

설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주는 문제입니다.

작성한 답의 코드를 여러줄로 풀어내어 먼저 보여 드리도록 하겠습니다.

function solution(n) {
    var answer = n;
    console.log(answer);    // 12345
    
    answer = answer.toString();
    console.log(answer);    // "12345"
    
    answer = answer.split('');
    console.log(answer);    // ['1', '2', '3', '4', '5']
    
    answer = answer.map(v=>+v)
    console.log(answer);    // [1, 2, 3, 4, 5]
    
    answer = answer.reverse();
    console.log(answer);    // [5, 4, 3, 2, 1]
    
    return answer;
}

입출력 예의 n=12345 를 예시로 들어 나오는 출력 값을 주석으로 보여드렸습니다. 

 

과정을 설명해드리자면,

먼저 자연수 n을 한글자씩 잘라서 배열에 담기위해 toString()을 사용해 문자열로 만듭니다. +"" 와 같은 방법을 사용하셔도 좋습니다.

그리고 split('')을 사용해 한글자씩 잘라 배열에 담습니다.

한글자씩 잘라 만든 배열에 map(v=>+v)으로 모든 요소를 다시 숫자 형식으로 만듭니다. +를 붙이면 숫자형식으로 변환할 수 있습니다.

그리고 reverse() 함수를 사용하여 배열의 순서를 반대로 하면 원하는 답을 구하여 문제를 해결할 수 있습니다.

 

 

제가 틀린 부분이 있다거나 더 좋은 방법을 아시는 분이 계시다면 댓글로 공유 부탁드립니다!

 

 

도움이 되셨다면 공감, 댓글 부탁드립니다!

궁금하신 점이나 요청 사항은 언제든지 말씀 해주세요!

 

감사합니다.


댓글