https://school.programmers.co.kr/learn/courses/30/lessons/42586
❗ deque 이용
from collections import deque
def solution(progresses, speeds):
answer = []
progresses=deque(progresses)
speeds=deque(speeds)
while progresses:
count=0
for i in range(len(progresses)):
progresses[i]+=speeds[i]
for i in range(len(progresses)):
if progresses[0]>=100:
count+=1
progresses.popleft()
speeds.popleft()
if count!=0:
answer.append(count)
return answer
❗ 다른 사람의 풀이를 보고 참고한 풀이. 반복문을 하나만 사용하여 시간복잡도를 줄일 수 있음
from collections import deque
def solution(progresses, speeds):
answer = []
cnt=0
day=0
progresses=deque(progresses)
speeds=deque(speeds)
while progresses:
if progresses[0]+speeds[0]*day>=100:
progresses.popleft()
speeds.popleft()
cnt+=1
else:
if cnt>0:
answer.append(cnt)
cnt=0
day+=1
answer.append(cnt)
return answer