728x90
프로그래머스 코딩 테스트 L1 문제인 로또의 최고 순위와 최저 순위 문제의 파이썬 풀이 입니다.
1. 로또의 최고 순위와 최저 순위 문제
문제 설명
제한사항
입출력
https://programmers.co.kr/learn/courses/30/lessons/77484
반응형
로또의 최고 순위와 최저 순위 문제 풀이 아이디어
0은 당첨번호로 바꿀 수 있기 때문에 0을 win_nums에서 맞춘 개수가 최저 순위가 되고, 최저 순위에서 0의 개수만큼 더하면 최고 순위가 된다.
- 최저순위: 맞춘 개수
- 최고순위: 맞춘 개수 + 0의 개수
로또의 최고 순위와 최저 순위 문제 풀이 코드
def solution(lottos, win_nums):
answer = []
count = 0
result = {6:1, 5:2, 4:3, 3:4, 2:5, 1:6, 0:6}
for num in win_nums:
if num in lottos:
count += 1
answer = [result[count+lottos.count(0)], result[count]]
return answer
맞춘 개수를 순위로 변환할 수 있게 키가 맞춘 개수, 값이 순위로 해서 딕셔너리를 생성합니다.
리턴값은 [최고순위, 최소순위]의 리스트이므로 맞춘 개수를 카운팅하여 리스트의 두번째 값에넣고, 맞춘 개수 + 0의 개수를 첫번째 값으로 넣습니다. 해당 값으로 result 딕셔너리에 접근하면 순위를 얻을 수 있습니다.
이상 프로그래머스 로또의 최고 순위와 최저 순위 문제 풀이 과정을 마칩니다.
728x90
728x90
LIST
Comment