여러 기능 개선 작업을 수행 중 각 기능은 완료도(진도)가 100%일 때만 서비스에 반영. 기능마다 개발 속도는 다를 수 있어, 나중에 개발된 기능이 먼저 완성될 수 있음 그러나, 기능들은 주어진 순서대로만 배포 가능. 즉, 뒤에 있는 기능이 앞서 완성되더라도 앞의 기능이 배포될 때 함께 배포
from collections import deque
def check(queue, day):
count = 0
for q in queue:
if q <= day:
count +=1
else:
return count
return count
def solution(progresses, speeds):
answer = []
days = [] # 배포까지 필요한 일 수
for i in range(len(progresses)):
# 남은 작업 진도로 전부 대체
progresses[i] = 100 - progresses[i]
if progresses[i] % speeds[i] != 0:
days.append(int(progresses[i]/speeds[i])+1)
else:
days.append(int(progresses[i]/speeds[i]))
dayq = deque(days)
while dayq:
day = dayq.popleft()
tmp_count = check(dayq, day)
for _ in range(tmp_count):
dayq.popleft()
answer.append(tmp_count+1)
return answer
📌 고려해야할 점
dayq
라는 deque 형태로 변형하여 popleft 기능을 활용