내가 찍은 로또 array(lottos) 와 당첨번호 array(win_nums)가 주어질 때 받을 수 있는 최고,최저순위를 출력하기. lottos의 0은 win_nums와 같아질 수도 달라질 수도 있다.
[최고순위] lottos 와 win_nums가 일치하는 개수를 출력하고 0의 개수도 더한다.
[최저순위] lottos 와 win_nums가 일칠하는 개수 출력한다.
순위 당첨 내용
1 6개 번호가 모두 일치
2 5개 번호가 일치
3 4개 번호가 일치
4 3개 번호가 일치
5 2개 번호가 일치
6(낙첨) 그 외
위 표에 따라 순위를 출력한다.
function solution(lottos, win_nums) {
let max = lottos.filter(x=>win_nums.includes(x)).length+lottos.filter(x=> x===0).length;
let min = lottos.filter(x=>win_nums.includes(x)).length;
function handleWin(n){
if(n===6){
return 1;
}else if(n===5){
return 2;
}else if(n===4){
return 3;
}else if(n===3){
return 4;
}else if(n===2){
return 5;
}else {
return 6;
}
}
return [handleWin(max),handleWin(min)];
}
0의 사용을 잘 이해하고 filter를 적절히 이용하면 어렵지 않게 풀 수 있다.