출처 https://programmers.co.kr/learn/courses/30/lessons/42586
각 기능은 진도가 100%일 때 서비스에 반영
(단 개발 속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있다. 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포)progresses : 배포되어야 하는 순서대로 작업의 진도(%)가 적힌 정수 배열
speeds : 각 작업의 개발 속도(하루당 %)가 적힌 정수 배열
solution 함수 : 각 배포마다 몇 개의 기능이 배포되는지를 return
days 배열을 만들어 각 기능의 작업이 완료되기 위해 소요되는 시간을 넣어주었다.
import math
days = []
for i in range(len(progresses)):
days.append(math.ceil((100 - progresses[i]) / speeds[i]))
import math
def solution(progresses, speeds):
answer = []
stack = []
days = []
for i in range(len(progresses)):
days.append(math.ceil((100 - progresses[i]) / speeds[i]))
while days:
if len(stack) == 0:
stack.append(days.pop(0))
else:
if stack[0] >= days[0]:
stack.append(days.pop(0))
else:
answer.append(len(stack))
stack = []
if len(days) == 0:
answer.append(len(stack))
stack = []
break
return answer