현재 목표: 프로그래머스 레벨1 뽀개기✨
단순하게 생각한 그 접근방식이 정답이였음👀 수월하게 풀었던 거 같다.
1. 최저 일치 수 = 0을 제외한 숫자 중 lottos와 win_nums의 교집합
2. 최고 일치 수 = 최저 일치 수 + 0의 개수
def getRank(key):
ranking = {6 : 1, 5 : 2, 4 : 3, 3 : 4, 2 : 5}.get(key, 6)
return ranking
def solution(lottos, win_nums):
_lottos = set(lottos)
_win_nums = set(win_nums)
min = len(_lottos & _win_nums)
max = min+lottos.count(0)
ranks = [getRank(max), getRank(min)]
return ranks
switch 대신 dictionary를 활용할 수 있다!!
C++과 Java에 더 익숙해서 switch문 같은 애 없나~ 하고 찾아봤는데 dictionary에서 get(key, default)
를 활용해 비슷하게 구현할 수 있었다! 👀
리스트에서 특정 요소를 count하는 건 리스트.count(해당 요소)