로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다.
순위 당첨 내용 1 6개 번호 모두 일치 2 5개 번호 모두 일치 3 4개 번호 모두 일치 4 3개 번호 모두 일치 5 2개 번호 모두 일치 6 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다.
알아볼 수 없는 번호는 0으로 표시한 민우가 구매한 로또 번호를 담은 배열 lottos, 당첨 번호를 담은 배열 win_nums가 매개변수로 주어집니다. 이때, 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 return 하도록 solution 함수를 완성해주세요.
입출력 예
lottos win_nums answer [44, 1, 0, 0, 31, 25] [31, 10, 45, 1, 6, 19] [3, 5] [0, 0, 0, 0, 0, 0] [38, 19, 20, 40, 15, 25] [1, 6] [45, 4, 35, 20, 3, 9] [20, 9, 3, 45, 4, 35] [1, 1]
function solution(lottos, win_nums) {
var answer = [];
const unknowns = lottos.filter(zero => zero === 0).length
const corrects = lottos.filter(correct => win_nums.includes(correct)).length
let min = 7 - corrects >= 6 ? 6 : 7 - corrects
let max = min - unknowns < 1 ? 1 : min - unknowns
answer.push(max, min)
return answer;
}
const unknowns = lottos.filter(zero => zero === 0).length
const corrects = lottos.filter(correct => win_nums.includes(correct)).length
let min = 7 - corrects >= 6 ? 6 : 7 - corrects
let max = min - unknowns < 1 ? 1 : min - unknowns
function solution(lottos, win_nums) {
const answer = []
const rank = [6,6,5,4,3,2,1]
let min = lottos.filter(correct => win_nums.includes(correct)).length
let zero = lottos.filter(zero => !zero).length
let max = min + zero
answer.push(rank[max], rank[min])
return answer;
}
조건문을 사용하지 않고, 미리 선언해둔 rank
배열을 활용하여 순위를 구함