Agorithm/프로그래머스
프로그래머스 Level 1 실패율
kimjinho1
2022. 6. 22. 16:19
728x90
반응형
문제에 맞는 자료구조를 생성하고 활용해야 하는 문제이다.
이 문제의 경우에는 Counter를 사용해서 쉽게 풀 수 있다.
주의해야 할 점이 스테이지에 도달한 사람이 없을 때인데 이를 따로 처리해주지 않으면 런타임 에러가 난다.
이거 때문에 조금 푸는데 시간이 걸렸다.
풀이
1. 각 스테이지별 도달한 유저의 수를 담은 딕셔너리를 생성(Counter)
2. 각 스테이지별 실패율 계산
3. 실패율을 기준으로 내림차순 정렬한 리스트의 인덱스를 반환
from collections import Counter
def solution(N, stages):
ans = []
n = len(stages)
counter = Counter(stages)
for i in range(1, N+1):
if n:
ans.append(counter[i] / n)
n -= counter[i]
else:
ans.append(0)
return [i+1 for i in sorted(range(N), key=lambda x : ans[x], reverse=True)]
728x90
반응형