Programmers
[프로그래머스] 로또의 최고 순위와 최저 순위
joannashin3
2021. 12. 3. 18:22
문제
입출력 예
답 (hash + filter)
hash + filter가 포인트 !
1. matchCount를 보면 내가 가지고있는 로또번호 배열에서 당첨번호와 맞는 숫자만 뽑아서 배열을 리턴받으면 그 개수가 최저로 맞출 수 있는 개수
2. zeroCount는 로또번호에서 0의 개수이니 뭐든 될 수 있는 숫자의 개수
3. 따라서 최고순위는 matchCount + zeroCount가 된다.
4. 그리고 나서 hash 형태로 만들어놓은 rankingObj 에서 맞춘개수가 6개면 1등, 5개면 2등,... 을 리턴하도록 하였다.
function solution(lottos, win_nums) {
const rankingObj = {6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6};
const matchCount = lottos.filter(v => win_nums.includes(v)).length;
const zeroCount = lottos.filter(v => v === 0).length;
return [rankingObj[matchCount + zeroCount], rankingObj[matchCount]];
}
반응형