프로그래머스(Python) 풀이/Level.1

프로그래머스(Python) 77484번 로또의 최고 순위와 최저 순위 풀이

개발윗미 2022. 5. 7. 13:34

Python으로 구현한 77484번 로또의 최고 순위와 최저 순위 문제 풀이입니다.

 

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) :
    info = {6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6}
    answer = []
    cnt = 0

    for value in lottos :
        if value in win_nums :
            cnt += 1

    answer.append(info[cnt + lottos.count(0)]) # 최고 개수
    answer.append(info[cnt])

    return answer

 

1. 각 당첨 내용에 대한 순위를 info 딕셔너리에 정의한다.

 

2. lottos의 값을 하나씩 확인하는데, 만약 해당 숫자가 win_nums 리스트에 존재한다면 cnt를 1 증가시킨다.

 

3. cnt와 lottos에 존재하는 0의 개수를 더한 값에 대응하는 info 딕셔너리 값을 answer 리스트에 추가한다. (최고 순위 번호)

 

4. cnt에 대응하는 info 딕셔너리 값을 answer 리스트에 추가한다. (최저 순위 번호)