1차 공부/알고리즘

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

공대탈출 2022. 11. 23. 16:34
문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

 

제한 조건
n은 10,000,000,000이하인 자연수입니다.

 

 

function solution(n) {
    var answer = [];
    let a = String(n).split('') //입력값을 배열로 만듦
    for (let i=0; i<a.length; i++) {    //모든 요소를 뒤집어야 하므로 for문을 작성함
        answer[i] = Number(a[a.length -1 -i])   //배열 a의 뒤에서부터 요소를 가져와 answer배열에 집어넣음
    }
    return answer;
}

이 코드에서 a의 인덱스뒤에서부터 가져오는 것만 신경쓰면 된다.

딱히 어렵진 않았다

 

 

function solution(n) {
    return String(n).split('').reverse().map(Number)
}

reverse()와 map()을 사용해 간단하게 표현해 봤다.

 

function solution(n) {
    return (n+'').split('').reverse().map(Number)
}

String()을 위처럼 대체할 수도 있다.

 

 

아래는 다른사람의 풀이이다.

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

reverse까진 똑같고, map함수안에 parseInt()(10진법으로 바꾸기)를 사용해 숫자형태로 바꾸었다.

'1차 공부 > 알고리즘' 카테고리의 다른 글

정수 제곱근 판별  (0) 2022.11.23
정수 내림차순으로 배치하기  (0) 2022.11.23
자릿수 더하기  (0) 2022.11.23
이상한 문자 만들기  (0) 2022.11.23
완주하지 못한 선수  (0) 2022.11.23