프로그래머스 알고리즘 문제/Level 1
프로그래머스 Level 1 - 실패율
에포트
2020. 8. 18. 16:30
내 정답:
def solution(N, stages):
a = []
for i in range(1, N+1):
success, tries = 0, 0
for stage in stages:
if stage > i:
success += 1
tries += 1
elif stage == i:
tries += 1
if tries:
a.append((success/tries,i))
else:
a.append((1, i))
return [i[1] for i in sorted(a)]
다른 사람들의 정답:
def solution(N, stages):
result = {}
denominator = len(stages)
for stage in range(1, N+1):
if denominator != 0:
count = stages.count(stage)
result[stage] = count / denominator
denominator -= count
else:
result[stage] = 0
return sorted(result, key=lambda x : result[x], reverse=True)