개발/알고리즘(코딩테스트)
프로그래머스, 자바스크립트) 로또의 최고 순위와 최저 순위
빔네모
2024. 11. 11. 22:48
문제
https://school.programmers.co.kr/learn/courses/30/lessons/77484
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
최고 순위와 최저 순위를 알기 위해서는 두 가지 케이스를 생각하면 된다.
- 가지고 있는 로또 번호 중 당첨 번호 + 미확인 번호가 전부 일치
- 가지고 있는 로또 번호 중 당첨 번호 + 일치하는 번호 없음
전체 로또 번호를 돌면서 , 맞은 수를 세고 0으로 표기된 부분을 세준다.
그다음 최고, 최저를 계산해 등수로 환산한다.
function solution(lottos, win_nums) {
let zeroCount = 0;
let correctCount = 0;
lottos.forEach((num) => {
if (win_nums.includes(num)) correctCount++;
if (num === 0) zeroCount++;
});
const reward = {
6: 1,
5: 2,
4: 3,
3: 4,
2: 5,
1: 6,
0: 6,
};
return [reward[correctCount + zeroCount], reward[correctCount]];
}