반응형
풀이
def solution(lottos, win_nums):
answer = []
match_num = 0
max_rank = 0
min_rank = 0
pre_value = 0
for lot in lottos:
if lot == 0:
pre_value += 1
else:
for win in win_nums:
if lot == win:
match_num += 1
min_rank = match_num
max_rank = min_rank + pre_value
ranking = {6: 1, 5: 2, 4: 3, 3: 4, 2: 5}
max_rank = ranking.get(max_rank, 6)
min_rank = ranking.get(min_rank, 6)
answer.append(max_rank)
answer.append(min_rank)
return answer
최저 순위와 최고 순위를 구해 answer list에 추가해 주었어요.
1. 0을 제외한 나머지 수 중에 win_nums와 매칭되는 값의 개수를 min_rank에 담아줌.
2. min_rank와 0(마음대로 변할 수 있는 값)의 수를 더해 max_rank에 넣어줌
3. 맞춘 수에 따라 ranking dictionary에서 등수를 뽑아옴 get을 이용했고 두번재 파라미터는 racking에 값이 없을 때 기본값
4. max와 min을 순서대로 answer에 append 해줌
반응형
'개발 > PS' 카테고리의 다른 글
프로그래머스 Lv1 숫자 문자열과 영단어(파이썬) (0) | 2021.12.30 |
---|---|
프로그래머스 Lv1 신규 아이디 추천 (파이썬) (0) | 2021.12.30 |
프로그래머스 Lv1 없는 숫자 더하기 (파이썬) (0) | 2021.12.30 |
프로그래머스 Lv2 문자열 압축 (파이썬) + 예외 처리 (0) | 2021.12.30 |
프로그래머스 Lv1 정렬 k번째 수 (파이썬) (0) | 2021.12.30 |