문제

풀이
#로또 등수 계산 함수 정의
def lotto_count(cnt) :
if cnt == 6 :
return 1
elif cnt == 5 :
return 2
elif cnt == 4 :
return 3
elif cnt == 3 :
return 4
elif cnt == 2 :
return 5
else :
return 6
def solution(lottos, win_nums):
#최저 count, 최대 count 정의
worst = 0
best = 0
res = []
for num in lottos :
#번호가 당첨번호와 같을때(최저 count, 최대 count모두 +1)
if num in win_nums :
worst += 1
best += 1
#0일때(최대 count만 +1)
elif num == 0 :
best += 1
else :
continue
res.append(lotto_count(best))
res.append(lotto_count(worst))
return res
풀이 설명
1. 지워진 번호(여기서는 0)이 모두 맞았을 때(best), 모두 틀렸을 때(worst) count를 담을 변수 정의
2. 로또 번호를 한바퀴 도는 반복문 시작
3. 해당 번호가 지워지지 않았고, 당첨번호 리스트에 있을때
-> 최고 순위 & 최저 순위 모두 올라감 : best, worst 모두 + 1
4. 해당 번호가 지워졌을 때
-> 최저 순위는 올라가지 않음 , 최고 순위만 올라감(지워진 번호가 맞았을 경우) : best만 + 1
5. 등수 계산 함수 정의(switch문 활용하고 싶었으나, python에는 switch문 없음)
6. 최고등수와 최저 등수 반환하여 리스트에 둘 다 추가해 반환
'Algorithm' 카테고리의 다른 글
| [프로그래머스] 개인정보 수집 유효기간 (3) | 2026.03.20 |
|---|---|
| [프로그래머스] [PCCE 기출문제] 10번 / 데이터 분석 (0) | 2026.03.20 |
| [프로그래머스] 성격 유형 검사하기 (0) | 2026.03.16 |
| [프로그래머스] 햄버거 만들기 (1) | 2026.03.16 |
| [프로그래머스] 둘만의 암호 (1) | 2026.03.16 |
