🧑🏻💻 문제링크
다음 문제는 파이썬의 dictionary(딕셔너리)
를 사용하면 참 쉬게 풀 수 있는 것 같다. 아래 실패율에 대한 공식을 생각해서 풀면 된다.
실패율 = 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수
딕셔너리 Key
값에는 스테이지를 저장하고 Value
값으로는 실패율을 저장하면 해결할 수 있었던 문제이다.
def solution(N, stages):
answer = {} # 딕셔너리
temp = len(stages) # 스테이지에 도달한 플레이어의 수
for stage in range(1, N+1):
if temp != 0:
count = stages.count(stage)
answer[stage] = count/temp # 각 스테이지당 실패율을 저장
temp -= count # 스테이지가 올라갈 수록 남아있는 사람의 수는 줄어듦
# 다 깬 사람의 경우
else:
answer[stage] = 0
return sorted(answer, key=lambda x:answer[x], reverse=True)