본문 바로가기
Algorithm/프로그래머스

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

by 2HS 2022. 3. 15.

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

 

코딩테스트 연습 - 로또의 최고 순위와 최저 순위

로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호

programmers.co.kr

 

def solution(lottos, win_nums):
    minimum, maximum = 0, 0
    for x in lottos:
        if x in win_nums:
            minimum += 1
    minimum = 7 - minimum
    maximum = minimum - lottos.count(0)

    answer = [6 if maximum == 7 else maximum, 6 if minimum == 7 else minimum]
    return answer

 

완전탐색

1. lottos의 모든 번호를 win_nums와 비교하여 같은 값이 있으면 minimum에 더해준다.

2. 순위를 반환해야 하기 때문에 7에서 빼준다

3. maximum을 구할 때, 0은 무엇이든지 될 수 있기 때문에 minimum에서 빼준다.

4. 7등은 없으므로 최하위 6등으로 반환