반응형
프로그래머스
2021 Dev-Matching: 웹 백엔드 개발자
정답코드
def solution(lottos, win_nums):
rank=[6,6,5,4,3,2,1]
cnt_0 = lottos.count(0)
ans = 0
for x in win_nums:
if x in lottos:
ans += 1
return rank[cnt_0 + ans],rank[ans]
정답은 출력되지만 런타임 에러로 문제해결 실패한 코드
from collections import Counter
rank = {1: 6,
2: 5,
3: 4,
4: 3,
5: 2,
6: 1}
def solution(lottos, win_nums):
match_num = [x for x in lottos if x in win_nums]
cnt = len(match_num)
print(cnt)
if cnt == 6:
ma = 6
elif cnt ==0:
cnt = 1
ma = 6
elif cnt>1 and cnt<6:
remain = Counter(win_nums) - Counter(lottos)
#남은 당첨번호 개수
remain_num = sum(list(remain.values()))
#0개수
zero = len([x for x in lottos if x == 0])
if zero < remain_num:
ma = cnt+zero
elif zero >= remain_num:
ma = cnt+remain_num
answer = [rank[ma], rank[cnt]]
return answer
반응형
'DS > Coding Test' 카테고리의 다른 글
[Python][DFS] 여행경로 (0) | 2023.05.18 |
---|---|
[Python][Two Pointers] 두 큐 합 같게 만들기 (0) | 2023.05.18 |
[Python] 크레인 인형뽑기 게임 (0) | 2023.05.18 |
[Python][BFS] 거리두기 확인하기 (0) | 2023.05.17 |
[Python] 개인정보 수집 유효기간 (0) | 2023.05.17 |