코딩테스트

[프로그래머스] 로또의 최고 순위와 최저 순위 - Lv.1

pyflu 2023. 8. 14. 15:41

[프로그래머스] 로또의 최고 순위와 최저 순위 Lv.1 - [파이썬/python]

 

https://school.programmers.co.kr/learn/courses/30/lessons/77484

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


 


# 프로그래머스 | 로또의 최고 순위와 최저 순위
def solution(lottos, win_nums):
   
    # {맞춘 개수 : 순위}
    lotto_rankings = {
        6 : 1, # 6개 맞추면 1등
        5 : 2, # 5개 맞추면 2등
        4 : 3, # 4개 맞추면 3등
        3 : 4, # 3개 맞추면 4등
        2 : 5, # 2개 맞추면 5등
        1 : 6, # 1,0개 맞추면 6등
        0 : 6
    }
   
    #0의 개수
    zero_nums = lottos.count(0)
   
    #lotto와 win_num의 교집합 개수 (번호 맞춘 개수)
    correct_nums = len( set(lottos) & set(win_nums) )
   
    #최고 상황과 최저 상황
    best_nums = correct_nums + zero_nums
    lowest_nums = correct_nums
   
    #리스트로 만들어서 result에 넣기
    result = [lotto_rankings[best_nums], lotto_rankings[lowest_nums]]
   
    return result

728x90