곰퓨타의 SW 이야기

[프로그래머스 level1 로또의 최고순위와 최저순위] 반복문, 조건문의 단순 활용 본문

TIL/프로그래머스

[프로그래머스 level1 로또의 최고순위와 최저순위] 반복문, 조건문의 단순 활용

곰퓨타 2021. 6. 10. 20:52

 

해결해야하는 문제는 다음과 같았다.

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

 

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

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

programmers.co.kr

 

 

이 문제에서는 lottos 번호를 하나씩 확인하며 win_nums에 있는 경우에는 맞춘 개수가 1이 증가한다.

동생이 알아볼 수 없게 만든 로또번호는 0이므로 0이 몇개인지 숫자를 센 다음, 

최고로 잘 나오는 경우에는 0의 개수 + 맞춘 개수를 통해 등수를 예측하고, 최저로 나오는 경우는 0이었던 수가 다 틀렸다고 생ㄱ가하여 맞춘 개수만을 이용해 등수를 예측하도록 하였다.

 

 

def solution(lottos, win_nums):
    correct_n = 0
    zero_count = lottos.count(0)
    for i in lottos :
        if i in win_nums :
            correct_n += 1
    
    answer = [7-(correct_n+zero_count) if correct_n+zero_count>1 else 6 , 7-correct_n if correct_n>1 else 6]
    return answer
Comments