스테이지의 실패율을 구해 실패율이 높은 순대로 정렬
https://programmers.co.kr/learn/courses/30/lessons/42889/
def solution(N, stages):
fail_rate = [0]*N
complete_users = len(stages)
for n in range(1,N+1):
fail_rate[(n-1)] = -stages.count(n) / complete_users
complete_users += -stages.count(n)
if complete_users == 0:
break
return [stage for rate, stage in sorted(zip(fail_rate,list(range(1,N+1))))]
Tip
1. sorted(,key= lambda x: , reverse = True) 이용하기
def solution(N, stages):
fail_rate = {}
denominator = len(stages)
for n in range(1,N+1):
nominator = stages.count(n)
fail_rate[n] = (nominator)/(denominator) if denominator > 0 else 0.0
denominator -= nominator
return sorted(fail_rate, key = lambda x : fail_rate[x], reverse = True)