Programmers

[프로그래머스] 로또의 최고 순위와 최저 순위

joannashin3 2021. 12. 3. 18:22

문제

입출력 예

 

(hash + filter)

hash + filter가 포인트 !

1. matchCount를 보면 내가 가지고있는 로또번호 배열에서 당첨번호와 맞는 숫자만 뽑아서 배열을 리턴받으면 그 개수가 최저로 맞출 수 있는 개수

2. zeroCount는 로또번호에서 0의 개수이니 뭐든 될 수 있는 숫자의 개수

3. 따라서 최고순위는 matchCount + zeroCount가 된다.

4. 그리고 나서 hash 형태로 만들어놓은 rankingObj 에서 맞춘개수가 6개면 1등, 5개면 2등,... 을 리턴하도록 하였다.

function solution(lottos, win_nums) {
    const rankingObj = {6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6};
    
    const matchCount = lottos.filter(v => win_nums.includes(v)).length;
    const zeroCount = lottos.filter(v => v === 0).length;
    
    return [rankingObj[matchCount + zeroCount], rankingObj[matchCount]];
}

 

 

반응형