반응형
1. lottos배열 안에는 친구의 장난으로 로또 번호가 아닌 0이 들어가 있고, 경우의 수를 따져서 맞췄다고 가정한다.
2. 그래서 lottos에서 win_nums배열에 당첨된 숫자가 있는지 + 0이 들어가있는 숫자만큼 더해 몇 등인지 가정한다.
3. 그리고 0이 들어가 있는 나의 로또가 또한 안 맞았다고 가정을 해서 최대 등수, 최저 등수를 반환해야한다.
function solution(lottos, win_nums) {
let max = 0;
let min = 0;
lottos.forEach((lotto) => {
if (lotto === 0) {
//0이 있다면 맞췄다고 가정을 해 max에 1씩 더해준다.
max++;
}
if (win_nums.includes(lotto)) {
//내 숫자가 로또 당첨번호에 정말 포함되어 있다면 max에 1씩 더해주고,
//순수하게 0이 아닌 내 숫자중에 더한 값만 min 또한 1씩 더해준다.
max++;
min++;
}
});
return [winLotto(max), winLotto(min)];
function winLotto(lotto) {
//switch문을 통해 맞춰진 숫자를 바탕으로 몇등인지 반환하는 함수
switch (lotto) {
case 6:
return 1;
case 5:
return 2;
case 4:
return 3;
case 3:
return 4;
case 2:
return 5;
default:
return 6;
}
}
}
반응형
'알고리즘문제' 카테고리의 다른 글
프로그래머스 > 신고 결과 받기 (0) | 2022.10.14 |
---|---|
프로그래머스 > 2020 카카오 인턴십 - 키패드 누르기 (0) | 2022.10.12 |
프로그래머스 > 실패율 (1) | 2022.10.08 |
프로그래머스 > 해시 > 포켓몬 (0) | 2022.10.05 |
프로그래머스 > 소수 만들기(javascript) (0) | 2022.10.04 |