파이썬 알고리즘 : 로또의 최고 순위와 최저 순위

조건문

2023년 12월 08일 알고리즘 문제풀이

문제

로또의 최고 순위와 최저 순위

난이도

Lv.1

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def solution(lottos, win_nums):
    def translate(p):
        if p >=2:
            return 7-p
        else:
            return 6
    
    answer = []
    cnt = 0
    unknown = 0
    for num in lottos:
        if not num:
            unknown += 1
            continue
        if num in win_nums:
            cnt += 1
            continue
    max_match = cnt + unknown
    min_match = cnt
    answer.append(translate(max_match))
    answer.append(translate(min_match))
    return answer

확실한 것을 통해 최저 순위를 확정지을 수 있고 정해지지 않은 수가 모두 맞는다고 가정하면 최고 순위도 알 수 있다.