알고리즘

[algorithm] 프로그래머스 - 로또의 최고 순위와 최저 순위 (파이썬)

hyuuny 2022. 3. 3. 00:58

문제


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


코드

def solution(lottos, win_nums):
    nums = set(win_nums)

    hit_nums = 0 # 맞춘 로또 번호의 수
    for num in lottos:
        if nums.__contains__(num):
            hit_nums += 1
    min_rank = 7 - hit_nums if 0 < hit_nums else 6

    zero_nums = 0 # 지워진 로또 번호의 수
    for num in lottos:
        if num == 0:
            zero_nums += 1

    max_rank = 7 - hit_nums - zero_nums
    if max_rank == 7 : max_rank = 6 # 맞춘 번호도 없고, 지워진 번호도 없다면 6등

    return [max_rank, min_rank]