1) 각각의 progress를 speed와 함께 계산해서 배포에 걸리는 시간을 계산하고, deploy라는 리스트로 할당한다.
2) deploy 리스트를 순회한다.
3-1) deploy의 원소가 max_deploy보다 크면 max_deploy값에 원소 값을 할당하고, [원소 값]을 answer 리스트에 추가한다.
3-2) deploy의 원소가 max_deploy보다 작으면 answer 리스트에서 pop한 값과 [원소 값]을 합쳐서, 다시 answer 리스트에 추가한다.
import math
def solution(progresses, speeds):
answer = []
deploy = [math.ceil((100 - progress) / speed) for progress, speed in zip(progresses, speeds)]
max_deploy = 0
for i in deploy:
if max_deploy < i:
max_deploy = i
answer.append([i])
else:
answer.append(answer.pop() + [i])
return list(map(len, answer))