새소식

Programmers

[Programmers] 로또의 최고 순위와 최저 순위 문제 - (javascript)

  • -
728x90
문제 이름 : 로또의 최고 순위와 최저 순위

 

<<< 문제 내용 >>>


 

function solution(lottos, win_nums) {
    let answer = [];
    
    const correct = lottos.filter(i => win_nums.includes(i)).length;
    const zeros = lottos.filter(i => i === 0).length;
    
    const max = correct+zeros <2 ? 6 : 7-(correct+zeros);
    const min = correct <2 ? 6 : 7-correct;
    if(max>=7) max = 1;
    
    answer = [max, min];
    return answer;
}

* filter를 이용하면 중복을 찾는 과정에서 매우 유용하다.

* 다만, filter도 결국 for문을 돌기 때문에 O(n)이고, includes도 배열의 첫 원소부터 포함되어 있는지 검사하기 때문에 최악의 경우 O(n)이라 시간복잡도 면에서는 자유롭지 못하다.

 

 

 

 

도움이 되셨다면 공감 부탁드립니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.