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

JavaScript로 배수 배열 생성하기 – m의 n개 배수 구하기

문제 이해하기

두 개의 숫자 m과 n을 입력받아, m의 첫 번째 배수부터 n번째 배수까지 차례대로 담은 배열을 반환하는 JavaScript 함수를 작성해야 합니다.

예를 들어, 입력값이 4와 6이라면 함수는 4의 배수 여섯 개를 순서대로 담은 배열을 반환해야 합니다.

입력 예시

const num1 = 4;
const num2 = 6;

기대 출력

const output = [4, 8, 12, 16, 20, 24];

for 반복문을 활용한 풀이

가장 직관적인 방법은 for 반복문을 사용하는 것입니다. 반복 변수 i를 num1로 초기화하고, 매 반복마다 num1씩 값을 증가시키면서 총 num2개의 요소를 배열에 추가하면 됩니다. 반복 조건은 i가 num1 * num2 이하일 때까지만 유지되므로 정확히 n개의 배수만 배열에 담기게 됩니다.

const num1 = 4;
const num2 = 6;

const multiples = (num1, num2) => {
  const res = [];
  for (let i = num1; i <= num1 * num2; i += num1) {
    res.push(i);
  }
  return res;
};

console.log(multiples(num1, num2));

실행 결과

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

[ 4, 8, 12, 16, 20, 24 ]

Array.from()을 활용한 더 간결한 방법

반복문 없이 한 줄로 해결하고 싶다면 Array.from() 메서드를 활용할 수 있습니다. 배열의 길이를 n으로 지정하고, 두 번째 인자로 전달하는 콜백 함수에서 각 인덱스에 m을 곱한 값을 반환하면 원하는 배수 배열이 바로 생성됩니다.

const multiples = (m, n) => Array.from({ length: n }, (_, i) => m * (i + 1));

console.log(multiples(4, 6)); // [ 4, 8, 12, 16, 20, 24 ]

Array.from() 방식은 코드가 더 선언적이고 간결해서 의도를 한눈에 파악하기 쉽다는 장점이 있습니다. 상황에 따라 반복문 기반 풀이와 함께 활용해 보세요.