[JS] 배열 만들기 1

Yongmin Park·2024년 6월 3일
0

JS-Programmers

목록 보기
4/14

프로그래머스 문제 링크

문제 풀이 생각 회로

  1. 1 부터 n 까지 k 로 나눴을 때 나머지가 0 이면 배수라고 할 수 있다.
  2. 혹은 i * k 를 n까지 반복할 수 있다. (1번이랑 2번이랑 역이기 때문에 같은 말이다.)

고민했던 내용

처음에는 filter 함수를 사용해서 배열을 만들고 나눴을 때 나머지가 0이 되는 것만 남기는 방식으로 하려 했으나 filter에 대한 숙련도가 부족해서 하지 못했다.
** 하지만 이 또한 배열을 채우고 수정하는 것이기 때문에 시간복잡도가 보다 높을 것으로 예상 됨.

하려고 했던 코드


function solution(n, k) {
    return Array(n).fill(1).map((v,i)=>v+i).filter((v)=>v%k===0)
}

제출 코드

인덱스 시작을 1부터 하지 않고 k 부터 하였고, 반복문의 step 을 k 만큼 증가해 시간을 최적하 하려고 노력했다.

function solution(n, k) {
    let answer = [];
    for (let i = k; i <= n; i += k) {
        answer.push(i)
    }
    return answer;
}
profile
기록으로 기적을

0개의 댓글