문제 링크
풀이 과정
전체 코드
def solution(N, stages):
# 총 플레이어 수
user_nums = len(stages)
# 스테이지 실패 카운트 배열
stage_counts = [0 for _ in range(N+1)]
# 정답 리스트
answer = list()
# 스테이지 정렬
sorted_stages = sorted(stages)
# 카운트 갱신
for val in sorted_stages:
if val == N+1: continue
stage_counts[val] += 1
# 실패율 갱신
for stage in range(1, N+1):
fail_count = stage_counts[stage]
if fail_count != 0:
answer.append((stage, fail_count / user_nums))
user_nums -= fail_count
else:
answer.append((stage, 0.0))
return [
stage for stage, fail in sorted(
answer,
key=lambda x: (-x[1], x[0]),
)
]
Python
복사