-
문제
https://programmers.co.kr/learn/courses/30/lessons/77484
코딩테스트 연습 - 로또의 최고 순위와 최저 순위
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호
programmers.co.kr
풀이법
지워진 로또 번호를 감안하여, 최대 & 최저 순위를 알아내는 문제이다.
이 문제의 풀이법은 크게 어렵지 않았는데,
1) 내가 가진 로또 번호 중에서 당첨 로또 번호에 해당 되는 번호가 있으면 그 값을 저장한다 ( = 최저 순위 )
2) 0의 개수만큼 최저 순위에 더해준다 ( = 최대 순위 )
[ = 0은 어떤 숫자로도 바꿀 수 있기에, 0을 모두 맞춘거라 가정하면 최대 순위가 나온다 []
function solution(lottos, win_nums) { let getRank = (ele) => (ele > 1 ? 7 - ele : 6); let min = lottos.filter((lotto) => win_nums.includes(lotto)).length; let max = lottos.filter((lotto) => lotto === 0).length + min; return [getRank(max), getRank(min)]; }
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스_Lv2] 오픈채팅방 ( by using JavaScript ) (0) 2021.05.21 [프로그래머스_Lv2] 문자열 압축 ( by using JavaScript ) (0) 2021.05.20 [프로그래머스] 폰켓몬 ( by using JavaScript ) (0) 2021.05.18 [프로그래머스_Greedy ] 구명보트 ( by using JavaScript ) (0) 2021.04.27 [프로그래머스_정렬 ] 가장 큰 수 ( by using Javascript) (0) 2021.04.22 댓글