문제설명
각 기능들의 배포 순서와 개발 순서를 입력받고 하루에 몇 개씩 배포할 수 있는지 출력하는 문제입니다.
작동 순서
2.가장 우선순위가 높은 기능이 100으로 완성된 경우 배포를 하고 그 다음 기능을 체크합니다.
미완성된 기능이 나올때까지 2번을 반복합니다.
만약 완성된 기능이 있어서 배포할 경우 배포하는 프로그램의 수를 answer에 더해줍니다.
모든 기능이 배포되면 각각 하루에 몇개씩 배포를 했는지 출력합니다.
소스코드
def solution(progresses, speeds):
answer = []
while len(progresses) > 0:
count = 0
for i in range(len(progresses)):
if progresses[0] >= 100:
progresses.pop(0)
speeds.pop(0)
count += 1
else:
break
if count > 0:
answer.append(count)
for i in range(len(progresses)):
progresses[i] += speeds[i]
return answer