Voyage 99 – x만큼 떨어진 n개의 숫자

( 문제 )

함수 솔루션은 정수 x와 자연수 n을 가져와 x에서 시작하여 x씩 증가하는 n개의 숫자를 포함하는 목록을 반환해야 합니다.

다음 제약 조건을 보고 조건을 만족하는 기능 또는 솔루션을 완성하십시오.

  • x는 -10000000보다 크거나 같고 10000000보다 작거나 같은 정수입니다.
  • n은 1000 이하의 자연수이다.

(입력/출력 예시)

엑스 N 산출
2 5 (2, 4, 6, 8, 10)
4 (4, 8, 12)
-4 2 (-4, 2)


(해결책)

솔루션 (1)

(내 솔루션)

인덱스의 시작을 0이 아닌 1로 생각하면 길이가 n인 배열을 만들고 각 요소의 값은 x *(인덱스)입니다.

빈 배열을 만들고 요소로 채웁니다.

솔루션 (2)

(프로그래머의 솔루션)

결국 배열 방법은 짜릿합니다! 채우다 라는 방법을 활용하는 방법이 있었습니다!

Array().fill() -> 원하는 길이의 빈 배열을 만들고 원하는 값을 모든 위치에 삽입합니다.

넣은 후 맵을 사용하여 각 인덱스에 1을 곱합니다.

( 코드 )

// 풀이(1) 
// 1부터 n까지 x와 곱하여 push한다.
const solution1 = function (x, n) {
    let result = ();

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

console.log(solution1(-4, 3))   // (-4, -8, -12)


// 풀이 (2)
// Array().fill() 활용 => Array의 원소 수만큼 같은 원소로 채운다.
// 인덱스 + 1 만큼 원소에 곱해준다.
const solution2 = function (x, n) {
    return Array(n).fill(x).map((element, i) => element*(i+1));
}

console.log(solution2(3, 5))   // (3, 6, 9, 12, 15)