본문 바로가기
Algorithm

[프로그래머스] x만큼 간격이 있는 n개의 숫자 | JavaScript

by Vintz 2021. 6. 8.
반응형

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

문제 설명

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

제한 조건

  • x는 -10000000 이상, 10000000 이하인 정수입니다.
  • n은 1000 이하인 자연수입니다.

입출력 예

x n answer
2 5 [2,4,6,8,10]
4 3 [4,8,12]
-4 2 [-4,-8]

코드

function solution1(x, n) {
  let answer = [];
  for (let i = 1; i <= n; i++) {
    answer.push(x * i);
  }

  return answer;
}
function solution2(x, n) {
    return Array(n).fill(x).map((x, i) => (i + 1) * x);
}
function solution3(x, n) {
    let answer = [];
    let cnt = 0;
    
    while(cnt < n) {
        cnt++;
        answer.push(x * cnt);
    }
    
    return answer;
}

다양한 풀이방법이 존재한다. 2번째 솔루션의 경우 풀이방법이 신선하고 가독성도 좋다고 생각했다.

1. n만큼의 길이의 새로운 배열을 생성하고(요소는 null인 상태)

2. 각 요소에 매개변수 x를 채워 넣는다.

3. 각 요소를 돌며 (해당 index + 1) * x값을 반환한다.

반응형