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

Isabel·2022년 3월 14일
0

알고리즘 문제풀이

목록 보기
19/36

문제 설명

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

제한 조건

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

문제 풀이

function solution(n) {
    var answer = [];
    let s = n.toString()  // 숫자를 문자열로 만들고 
    for(let i = s.length; i > 0; i--){ //String의 맨뒤 글자부터 한글자씩 잘라서 int형으로 변환후 
        answer.push(parseInt(s.substr((i-1), 1)))  // answer 배열에 넣어주었다. 
    }
    return answer;
}

다른 사람들의 풀이

function solution(n){
	var answer = []
    do{
      answer.push(n%10)
      n = Math.floor(n/10)
    } while ( n > 0 )
      
    return answer;
}

위 풀이는 산수처럼 계산하였다. n을 10으로 나눈 나머지(1의 자리)를 answer에 제일 먼저 넣어주고, n을 10으로 나눈 뒤 내림 함수로 원래 있던 1의 자리를 없애고 10의 자리가 1의 자리가 된 n을 만든다.
(ex. n = 73472 > answer.push(2) > 7347.2 > n = 7347 > ... > answer = [2, 7, 4, 3, 2]

0개의 댓글