티스토리 뷰

728x90
반응형

문제

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):
    answer = [6, 6, 5, 4, 3, 2, 1]
    count = 0
    count_0 = 0
    for i in lottos:
        if i == 0:
            count_0 += 1
        elif i in win_nums:
            count += 1
    total = count + count_0
    return answer[total],answer[count]

answer에 인덱스를 맞춘 갯수로 하여 등수 값을 채워준다.

0개 맞췄을 경우 6등

1개 맞췄을 경우 6등

2개 맞췄을 경우 5등

3개 맞췄을 경우 4등

4개 맞췄을 경우 3등

5개 맞췄을 경우 2등

6개 맞췄을 경우 1등

 

그리고 count로는 맞는 번호에 갯수를 세주고 보이지 않는 번호 0에 대해서는 count_0으로 갯수를 세어준 후

최고순위를 구할 때는 count + count_0 합친 수를 이용해 등수를 구하고 최저 순위를 구할 때는 count로만 이용해 등수를 구하면 된다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28