def solution(lottos, win_nums):
# 0을 제외한 lottos => set 변환
lottos = set(lottos)
# 0이 없을 때에는 remove로 삭제하면 에러가 난다!
lottos.discard(0)
# win_nums => set 변환
win_nums = set(win_nums)
# 지워진 번호의 갯수
num = len(win_nums) - len(lottos)
# 일치하는 번호의 갯수
min_num = 0
for lotto in lottos:
# 당첨 번호와 민우의 번호가 일치하면
if lotto in win_nums:
min_num += 1
# 최고 순위와 최저 순위, 그 외(낙첨) 처리
answer = [min(6, 7-(min_num + num)), min(6, 7-min_num)]
return answer
set에 해당 값이 없을 때에 remove를 사용하면 에러가 나므로 discard를 사용해야 한다.
그 외 즉, 낙첨 처리를 할 때 주의! 0 or 1개는 낙첨이므로 min을 사용하여 처리한다.