본문 바로가기
Algorithm

[JavaScript] x만큼 간격이 있는 n개의 숫자

by 랩린안 2022. 9. 21.
/*
문제 : 정수 x와 자연수 n을 입력 받았을 때, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 구하라
자료 : 정수 x, 자연수 n
조건 : 
계획 :
빈 배열에 반복문으로 x * i 만큼 추가하는데
배열의 length가 n만큼

반성 : map대신 reduce를 사용하는 방법이 미숙하다.

*/

const solution = (x, n) => {
  let result = [];

  for (let i = 1; i <= n; i++) {
    result.push(x * i);
  }

  return result;
};

// Array fill map
const solution2 = (x, n) => {
  return Array(n)
    .fill(x)
    .map((v, i) => (i + 1) * v);
};

// 재귀함수
const solution3 = (x, n, count = 1, array = []) => {
  array.push(x * count);

  if (count >= n) {
    return array;
  }

  return solution3(x, n, count + 1, array);
};

 

다른 사람의 풀이를 보고 Array() fill()을 알게 됐다.

가장 기본인 for문으로 풀고 재귀함수로도 풀어봤다.