Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 정수의 역순 배열 반환하기

문제 이해하기

이번 문제는 JavaScript 함수를 작성하여, 하나의 숫자를 입력받으면 n부터 1까지의 모든 자연수를 역순으로 담은 배열을 반환하는 것입니다.

예를 들어, 입력값이 6이라면 [6, 5, 4, 3, 2, 1]과 같은 배열이 결과로 나와야 합니다.

입력 예시

const num = 6;

출력 예시

const output = [ 6, 5, 4, 3, 2, 1 ];

해결 방법

구현 접근 방식은 다음과 같습니다.

  • 입력받은 숫자가 소수일 수 있으므로 Math.round()를 사용해 가장 가까운 정수로 반올림합니다.
  • 음수가 입력될 경우를 대비해 Math.abs()로 절댓값을 구합니다.
  • 빈 배열을 준비한 뒤, for 반복문으로 num부터 1까지 숫자를 역순으로 배열에 추가(push)합니다.
  • 완성된 배열을 반환합니다.

코드 구현

다음은 위 로직을 화살표 함수(arrow function)로 작성한 전체 코드입니다.

const num = 6;
const reverseArray = (num = 1) => {
    // 소수는 반올림하고, 음수는 절댓값으로 변환
    num = Math.round(num);
    num = Math.abs(num);
    const res = [];
    // num부터 1까지 역순으로 배열에 추가
    for(let i = num; i > 0; i--){
        res.push(i);
    };
    return res;
};
console.log(reverseArray(num));

실행 결과

위 코드를 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.

[ 6, 5, 4, 3, 2, 1 ]

마무리

이처럼 간단한 반복문만으로도 특정 숫자부터 1까지의 자연수를 담은 역순 배열을 손쉽게 만들 수 있습니다. 입력값 검증(반올림, 절댓값 처리)을 함께 해두면 예상치 못한 입력에도 안정적으로 동작하는 견고한 함수가 됩니다.