def solution(lottos, win_nums):
answer = []
rank = {6:1, 5:2, 4:3, 3:4, 2:5}
comp_lst = [0, 0]
for i in lottos:
if i == 0 or i in win_nums:
comp_lst[0] += 1
if i != 0 and i in win_nums:
comp_lst[1] += 1
for i in comp_lst:
if i not in rank.keys():
answer.append(6)
else:
answer.append(rank[i])
return answer
최대로 맞춘 개수와 최소로 맞춘 개수를 비교배열에 저장한다. (최대 일 경우 0은 맞춘 개수로 생각, 최소 일 경우는 0은 틀린 개수로 생각한다.)
이후 맞춘 개수가 rank 딕셔너리의 키값에 존재하지 않으면 6등을 추가해 주고, 그렇지 않다면 해당 키값의 밸류 값(등수)을 넣어준다.
'Programmers' 카테고리의 다른 글
[프로그래머스 / 파이썬 풀이] [1차] 비밀지도 (0) | 2023.01.27 |
---|---|
[프로그래머스 / 파이썬 풀이] 신규 아이디 추천 (1) | 2023.01.26 |
[프로그래머스 / 파이썬 풀이] 개인정보 수집 유효기간 (0) | 2023.01.25 |
[프로그래머스 / 파이썬 풀이] 숫자 문자열과 영단어 (0) | 2023.01.20 |
[프로그래머스 / 파이썬 풀이] 성격 유형 검사하기 (0) | 2023.01.19 |