프로그래머스 - 로또의 최고 순위와 최저 순위

hyein song·2022년 7월 31일
0

로또를 맞춘 개수에 따라 순위 계산

🔗문제 링크

💡생각한 풀이법

  1. 로또에서 맞춘 개수 카운트, 0 개수 카운트
  2. 맞춘 개수: 최저, 맞춘개수+0 개수 : 최고 를 인덱스로 배열에서 가져오기

❗주의해야할 점

  1. 배열 인덱스를 사용하지 않고 단순 계산으로 풀면 0,7이 나와 범위 검사를 다시 해줘야 한다.

🔍 최종 코드

def solution(lottos, win_nums):
    result = [6,6,5,4,3,2,1] # 맞춘 개수(인덱스) 에 따른 등수
    win_dict = {i:0 for i in win_nums}
    zero_cnt = cnt = 0
    
    for lotto in lottos:
        if lotto == 0:
            zero_cnt += 1
            continue
        
        if win_dict.get(lotto) == 0:
            cnt += 1
    
    answer = [result[cnt+zero_cnt],result[cnt]]
    
    return answer

0개의 댓글