매우 간단한 문제이다. 점수판을 그냥 딕셔너리로 만들어주고 입력으로 들어온 그대로 win_nums에 존재한다면 corr_nums 변수를 증가시켜준다.
그 과정이 끝난 후에 0의 개수를 구해서 0을 정답으로 대체하면 최대 몇 개의 번호를 맞추는지 구해준다. 처음 증가시킨 corr_nums로 나올 수 있는 등수가 최하위, 0을 모두 정답으로 대체해 나올 수 있는 등수가 최고 등수이다.
def solution(lottos, win_nums):
score_board= {6:1, 5:2, 4:3, 3:4, 2:5, 1:6, 0:6}
max_nums = 0
corr_nums = 0 #최대 맞춘 개수
zero_nums = 0
for i in range(0,len(lottos)):
if(lottos[i] in win_nums):
corr_nums +=1
if(lottos[i] == 0):
zero_nums +=1
#최대로 맞출 수 있는 개수
max_nums = corr_nums + zero_nums
answer = []
answer.append(score_board[max_nums])
answer.append(score_board[corr_nums])
return answer