하루 하나씩 작성하는 TIL #18
로또 문제를 두 가지 풀이로 풀어보았다.
function solution(lottos, win_nums) {
let zero = 0;
let min = 7;
lottos.forEach((a)=>{
if(win_nums.includes(a)) min--
else if(a === 0) zero++
})
if(min === 7) min = 6;
let max = min - zero;
if(max === 0) max = 1;
var answer = [max, min];
return answer;
}
//다른 풀이
function solution(lottos, win_nums) {
// 배열을 정렬시킨다.
// 순서대로 값을 비교
// 0인 경우 다 맞다는 가정
// 0인 경우 다 틀리다는 가정
let answer = [];
const correct = lottos.filter(lotto => win_nums.includes(lotto)).length;
const zerro = lottos.filter(lotto => lotto === 0).length;
let min = 7-correct >= 6 ? 6 : 7-correct;
let max = min - zerro <= 1 ? 1 : min - zerro;
answer = [max, min]
return answer
}