본문 바로가기

TIL(today i learned)/프로그래머스-코딩테스트

[연습문제] [Lv.1] 자연수 뒤집어 배열로 만들기

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

 

앞서 푼 정수의 각 자리수 더한 값과 동일하게 접근했다.

각 자리의 숫자에 접근할 수 있도로고 string형태로 바꿔주고 각 자리수의 string을 number로 변환하여 array에 push해주었다. 

function solution(n) {
    var answer = [];
    numbers = n.toString();
    for (let i = numbers.length-1; i >=0; i--){
        answer.push(Number(numbers[i]));
    }
    return answer;
}

 

문자열 접근 방법 외에도 숫자만 가지고도 문제를 풀 수 있다.

정수이기 때문에, 10으로 나눈 나머지 값 (=1의 자리 숫자)를 array에 넣어주는 것.

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

solution(542);