코드
import math
def solution(progress, speed):
answer = []
stack = []
for progress_, speed_ in zip(progress, speed) :
remain = math.ceil((100 - progress_) / speed_)
if not stack or stack[0] >= remain :
stack.append(remain)
else :
answer.append(len(stack))
stack = [remain]
return answer + [len(stack)]
풀이
progress
별 남은 작업일을 계산해 준다.que
에 가장 먼저 들어와있던progress
와의 작업량을 비교
que
가 비어있거나 현재 남은 작업량이 더 작으면que
에 작업 추가- 현재
progress
작업량이que
에 가장 먼저 들어온 작업량 보다 크다면len(que)
를 저장하고 새로운que = [remain]
정의