progresses
와 speeds
배열이 주어지는데,
progresses
는 작업을 뜻하며 100이 완료를 의미한다. speeds
는 작업 속도를 뜻하며, 1일에 진행할 수 있는 정도를 의미한다.
결과로는, 배포하는 progress
의 수를 출력하는데, 배열은 우선순위를 가지고 있어 배열의 앞 원소가 종료될 때 까지 출력할 수 없다.
progresses
배열에 있는 일정이 100으로 마무리 될 때 까지 소요되는 일정을dates
배열로 따로 구현했다.
dates
배열에서 앞 원소를 추출한 뒤,dates[0]
과 비교해 더 크면 해당 원소도 추출하는 식으로 작성했으며, 추출할 때count
값을 증가시켰다.
def solution(progresses, speeds):
answer = []
dates = [0 for _ in range(len(progresses))]
for i in range(len(progresses)):
while progresses[i] < 100:
progresses[i] += speeds[i]
dates[i] += 1
while dates:
value = dates.pop(0)
count = 1
while dates and value >= dates[0]:
dates.pop(0)
count += 1
answer.append(count)
return answer