frontend/javaScript

[js / 알고리즘연습]프로그래머스 lv0.n개 간격의 원소들

김포레스트 2024. 8. 19. 13:33

문제설명

 

정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

 

 

풀이 과정

배열로 들어오니까 forEach를 돌린다

idx값이 n의 배수일 때 새 배열에 push 한다

 

 

 

나의 풀이

function solution(num_list, n) {
    var answer = [];
    
    num_list.forEach((el, idx) => {
       if(idx % n == 0) answer.push(el);
    });
    
    
    return answer;
}

 

 

 

best 풀이

const solution = (num_list, n) => num_list.filter((_, i) => !(i % n))

 

 

와앙 fitler를 사용할 수 있을줄 몰랐다.

콜백함수 조건이 true 일 때의 값을 반환하므로

반복문 대신 사용 가능함.

 

아직도 if 문과 for문에서 벗어나지 못하고 있는 것 같다 ㅠ