목표:
- 실패율(스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수)을 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 구하라.
조건:
- stages의 길이는 1 이상 200,000 이하이다.
solution 설명 :
- stage의 개수를 알고 있음으로 1~N+1까지 돌면서 확률을 구한다.
- 그 확률들을 dict에 저장한다.
- 그걸 sort
def solution(N, stages):
people = len(stages)
ans = {}
for i in range(1, N+1):
cnt = stages.count(i)
if people == 0:
ans[i] = 0
else:
ans[i] = cnt/people
people -= cnt
return sorted(ans, key=lambda x : ans[x], reverse=True)