def solution(N, stages):
answer = []
arrive = [0 for i in range(N + 2)]
current = [0 for i in range(N + 2)]
for s in stages:
for j in range(1, s + 1):
arrive[j] += 1
current[s] += 1
print(arrive)
print(current)
temp = []
for i in range(1, N + 1):
if arrive[i] == 0:
temp.append([0, i])
else:
temp.append([current[i] / arrive[i], i])
print(temp)
temp.sort(reverse=True, key=lambda x: x[0])
for i in range(N):
answer.append(temp[i][1])
return answer
def solution(N, stages):
answer = {}
players = len(stages)
for i in range(1, N + 1):
if players != 0:
current = stages.count(i)
answer[i] = current / players
players -= current
else:
answer[i] = 0
return sorted(answer, reverse = True, key = lambda x : answer[x])
첫 번째 코드에 비해 두 번째 코드의 실행 속도가 많이 빠르다.
시간 복잡도 향상을 위한 고민이 부족하다.
dun dun dance 들으면서 코딩하면 좋다.