프로그래머스 로또의 최고 순위와 최저 순위 파이썬

안상철·2023년 5월 22일
0

문제링크

def solution(lottos, win_nums):
    answer = []
    
    # 맞춘 갯수와 순위 딕셔너리
    score = {6:1, 5:2, 4:3, 3:4, 2:5, 1:6, 0:6}
    
    # 맞춘 갯수를 세기 위한 로또배열
    new_lottos = []
    
    # 0을 카운트 하기 위한 임시변수
    zero_cnt = 0
    
    # 로또를 확인해서
    for l in lottos:
    
    	# 0인경우 0카운트 변수에 +1
        if l == 0:
            zero_cnt += 1
            
        # 0이 아니라 일반 숫자인 경우 로또배열에 +1
        else:
            new_lottos.append(l)
            
    # 최저 점수를 계산하기 위한 임시변수
    low_score = 0
    
    # 0이 아닌 번호 중 맞은 갯수만 최저 점수에 저장하고
    for i in new_lottos:
        if i in win_nums:
            low_score += 1
    
    # 0이 모두 맞는 번호일 때 최고점수와, 내가 적은 것 만 맞았을 때 최저점수를 append
    answer.append(score[low_score + zero_cnt])
    answer.append(score[low_score])
    
    return answer
profile
웹 개발자(FE / BE) anna입니다.

0개의 댓글