먼저 stage 정렬을 통해 stage별로 순서대로 검사할 수 있게 만든다.
현재 stage에 머무르고 있는 사람은 실패한 것이므로 count를 증가시킨다. 이후 실패율을 계산하고 해당 인원을 전체 인원에서 제외
시킨다.
이를 마지막까지 반복한다.
그 후 실패율을 key로 사용해 내림차순 정렬 후 스테이지 번호를 반환시켜 준다.
def solution(N, stages):
stages.sort()
answer = []
length = len(stages)
fail = []
k = 0
for i in range(1,N+1):
count = 0
for j in range(k, len(stages)):
k = j
if stages[j] == i:
count += 1
else:
break
if length == 0:
f = 0
else:
f = count/length
fail.append((i, f))
length = length - count
#fail.sort(reverse=True, key=lambda x:x[1])
fail.sort(key=lambda x: (-x[1]))
for f in fail:
answer.append(f[0])
return answer