Coding test

[프로그래머스] x만큼의 간격이 있는 n개의 숫자 (Level 1)

Jiwoo 2022. 4. 16. 17:28

문제

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

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

나의 풀이

function solution(x, n) {
    //  return 배열[x의 배수 n개]

    // reduce. (1 < i <= n) * x 배열에 push
    let arr = [];

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

    return arr;
}

 

  • 정확도 테스트 결과


     

다른 풀이

function solution(x, n) {
    // 배열 x을 n개 채우기 -> 하나씩 배수로 변경
    return Array(n).fill().map((e, i) => x * (i+1));
}

 
아예 없는 배열에 값을 채워넣어야 하니까 for문을 사용할 수 밖에 없었는데 이런 방법이 있었다.
 
먼저 Array()로 배열을 생성
-> 배열이 비워있으면 메소드를 사용하기 까다로우니 fill()을 적용해서 undefined 채우기
-> array.map()으로 배수 채우기
 

  • 정확도 테스트 결과


     

참고

제로초 블로그