Always Be Wise

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

알고리즘/프로그래머스

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

bewisesh91 2021. 12. 3. 10:01
728x90

▶ 문제 : https://programmers.co.kr/learn/courses/30/lessons/77484?language=python3 

 

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

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

programmers.co.kr

▶ 접근 방법 

우선, 최고 순위에 영향을 줄 수 있는 알아볼 수 없는 번호의 수의 수를 카운팅하였다.
이후, 당첨 번호(win_nums)에서 번호를 하나씩 꺼내 해당 번호가 내가 선택한 번호(lottos)에 있는지 확인하였다.
랭크를 리스트로 만들어 인덱스로 순위를 찾는다는 것이 문제 해결에 있어 중요한 아이디어였다. 

 

▶ 풀이 코드

def solution(lottos, win_nums):
    answer = []
    rank = [6, 6, 5, 4, 3, 2, 1]
    count_0 = lottos.count(0)
    
    result = 0
    for num in win_nums:
        if num in lottos:
            result += 1
    return rank[count_0 + result],rank[result]
Comments