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

devmoonsh·2021년 1월 4일
0

Algorithm

목록 보기
37/37
post-thumbnail

프로그래머스 Lv.1

문제 설명

함수 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 solution(x, n) {
    let answer = [x];
    
    for (let i = 0; i < n - 1; i++) {
        answer.push(answer[i] + x)
    }
    
    return answer;
}
  1. answer라는 변수에 배열을 할당하고 그 안에 초기값 x를 할당한다.
  2. 반복문을 사용하여 이전 인덱스의 값에 + x를 하여 answer 배열에 push를 해나간다.
  3. 최종적으로 만들어진 배열 answer를 리턴한다.

다른 사람의 풀이

  1. Array.fill 메서드로 배열을 임시로 채운 후 map을 돌려 각각의 인덱스에 해당하는 값을 채워나가는 방법
function solution(x, n) {
    return Array(n).fill(x).map((v, i) => (i + 1) * v)
}
  1. spread 연산자와 Array.keys, map을 이용한 방법
function solution(x, n) {
    return [...Array(n).keys()].map(v => (v + 1) * x);
}
profile
Junior front-end developer

0개의 댓글