from collections import deque
def solution(progresses, speeds):
answer = []
deploy = deque()
for i in range(len(progresses)):
# 작업 시간 저장
day = 0
while True:
day += 1
progresses[i] += speeds[i]
if progresses[i] >= 100:
deploy.append(day)
break
dep = deploy.popleft() # 첫 배포 날짜
when_dep = 1 # 배포 시 같이 끝나는 기능 count
for function in list(deploy): # deque는 순회가 안되므로 list로 변환
if dep >= function: # 배포 시간안에 기능개발이 완료될 때
deploy.popleft()
when_dep += 1
else:
answer.append(when_dep)
dep = deploy.popleft() # 배포 시간
when_dep = 1
answer.append(when_dep)
return answer
def solution(progresses, speeds):
print(progresses)
print(speeds)
answer = []
time = 0
count = 0
while len(progresses)> 0:
if (progresses[0] + time*speeds[0]) >= 100:
progresses.pop(0)
speeds.pop(0)
count += 1
else:
if count > 0:
answer.append(count)
count = 0
time += 1
answer.append(count)
return answer
좋은 예시는 시간복잡도가 O(n)으로 내 코드보다 효율적이다.