코딩코딩

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

Jerry Jun 2021. 5. 25. 14:24
728x90

문제

프로그래머스 - 로또의 최고 순위와 최저 순위 - 파이썬 풀이 

 

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

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

programmers.co.kr

 

 

코드

def solution(lottos, win_nums):
    count = 0
    zero = 0
    a,b = 0,0
    for i in lottos:
        if i == 0:
            zero += 1
        elif i in win_nums:
            count += 1
    
    b = 7-count if count != 0 else 6
    a = 7-zero-count if zero != 0 else b   
    
    return [a,b]

 

풀이

level1 인 문제이니만큼 단순한 문제이다.

 

숫자가 인식되지 않는 0 의 개수를 zero 에 따로 담고, 인식되는 번호 중 로또 추첨 번호와 맞는 개수를 count 에 담았다. return 되는 값 중 뒤에 있는 값은 무조건 count 로만 판단하기 때문에 b 를 통해 순위를 계산했다.

 

7-count 를 하면 등수가 나오게 되는데 count 가 0일 때만 6 처리를 하면 완성이다.

a는 0의 개수와 count의 개수를 합하여 7에서 빼면 등수가 나오는데 0의 개수가 하나도 없으면 count 개수 그대로 의존하니 b를 넣으면 끝.

 

인증사진
프로그래머스 표지

300x250