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

Wonkook Lee·2021년 7월 25일
0

JS Coding Test | Level 1

목록 보기
2/20
post-thumbnail

할 수 있는 최대한 단순한 코드를 만들기, 목표를 위해 다양한 방법을 사용해보기

문제 풀러 가기

x만큼 간격이 있는 n개의 숫자 (Lv.1)


문제

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

제한 조건

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

입출력 예

xnreturn
25[2,4,6,8,10]
43[4,8,12]
-42[-4,-8]

solution.js

function solution(x, n) {
    var answer = [];
    return answer;
}

풀이

풀이 (1) : while Loop and unshift

function solution(x, n) {
    var answer = [];
    while (n) {
        answer.unshift(x * n);
        n--;
    };
    return answer;
};

while 반복문을 사용하여 역순으로 값을 배열에 추가하는 방법. n이 0이 되면 루프가 종료된다.

풀이 (2) : Making an Instance of Array

function solution(x, n) {
    var answer = Array.from({length: n}, (e, i) => x * (i + 1));
    return answer;
};

Array.from로 새로운 배열 인스턴스를 만들고, length를 n, 1을 더한 인덱스를 값에 곱하여 배열화

풀이 (3) : Filling and Mapping

function solution(x, n) {
    var answer = Array(n).fill(x).map((e, i) => e * (i + 1));
    return answer;
};

Array(length).fill(value)로 채워진 배열을 만들어놓고 map 메소드로 각 인덱스의 값을 곱함

profile
© 가치 지향 프론트엔드 개발자

0개의 댓글