문제

  • 주어진 숫자를, 배열 내에서 각각 역순으로 반환한다.

풀이 01

function reverseDigitize(n) {
  let result = [];
  let arr = n.toString().split('');

  for (let i = arr.length - 1; i >= 0; i--) {
    result.push(parseInt(arr[i]));
  }
  return result;
}

reverseDigitize(1234);  // [4, 3, 2, 1]
reverseDigitize(4321);  // [1, 2, 3, 4]
  • toString(): 숫자를 문자열로 변환한다.
  • split(): 문자열을 부분 문자열로 분할하고, 새 배열로 반환한다.
  • push(): 배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.
  • parseInt(): 문자열을 구문 분석하고, 정수를 반환한다.

풀이 02

function reverseDigitize(n) {
  return n.toString().split('').map(Number).reverse();
}

reverseDigitize(1234);  // [4, 3, 2, 1]
reverseDigitize(4321);  // [1, 2, 3, 4]
  • map(): 배열 내 모든 element에 대해, 호출한 함수의 결과를 모아 새 배열로 반환한다.
  • reverse(): 배열 내 element의 순서를 반전한다.

풀이 03

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

reverseDigitize(1234);  // [4, 3, 2, 1]
reverseDigitize(4321);  // [1, 2, 3, 4]