- 문제
- 1/45의 숫자 중 6개를 구입, 낙서되어 볼 수 없는 숫자는 0으로 대체, 예상할 수 있는 최고 등수와 최저 등수를 예측하여 리턴하자
- 요소 : 구매한 번호, 당첨 번호
- 조건 : 6개 숫자를 맞추면 1등, 5개는 2등...1개 또는 0개는 6등 (실제 로또와 다름)
- 수도코드
결과와 동일함
- 결과
function solution(lottos, win_nums) {
let zero_cnt = 0;
let hit_cnt = 0;
for (let i = 0; i < 6; i++) {
if (lottos[i] === 0) {
zero_cnt++;
}
else if (win_nums.includes(lottos[i])) {
hit_cnt++;
}
}
let min = 7 - hit_cnt >= 6 ? 6 : 7 - hit_cnt;
let max = min - zero_cnt <= 1 ? 1 : min - zero_cnt;
var answer = [max, min];
return answer;
}
- 레퍼런스
function solution(lottos, win_nums) {
const rank = [6, 6, 5, 4, 3, 2, 1];
let minCount = lottos.filter(v => win_nums.includes(v)).length;
let zeroCount = lottos.filter(v => !v).length;
const maxCount = minCount + zeroCount;
return [rank[maxCount], rank[minCount]];
}