July 19, 2021
from collections import Counter
def solution(N, stages):
challenger_count = len(stages)
counter = Counter(stages)
rate = dict()
for stage in range(1, N+1):
if challenger_count != 0:
stage_count = counter[stage]
rate[stage] = stage_count / challenger_count
challenger_count -= stage_count
else:
rate[stage] = 0
return sorted(rate, key=rate.get, reverse = True)
def solution(N, stages):
fail = {}
for i in range(1,N+1):
try:
fail_ = len([a for a in stages if a==i])/len([a for a in stages if a>=i])
except:
fail_ = 0
fail[i]=fail_
answer = sorted(fail, key=fail.get, reverse=True)
return answer
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)
def solution(N, stages):
answer = []
fail = []
info = [0] * (N + 2)
for stage in stages:
info[stage] += 1
for i in range(N):
be = sum(info[(i + 1):])
yet = info[i + 1]
if be == 0:
fail.append((str(i + 1), 0))
else:
fail.append((str(i + 1), yet / be))
for item in sorted(fail, key=lambda x: x[1], reverse=True):
answer.append(int(item[0]))
return answer