[Programmers] 42586 기능 개발
스택또는 큐를 이용하는 문제로 분류되어있다. 매일 하루를 추가하는 반복문(while)내에서 조건이 달성되면 이를 종료하고 정답을 반환하도록 했다. 여기서 달성되어야하는 조건은 각 progresses
내의 데이터 합이 0이 되는 것으로, 완료된 작업에는 0을 할당하여 모든 작업이 마무리 도면 반복문을 탈출하여 정답을 반환할 수 있다.
정답은 당일 종료된 progress
와 이전 progress
의 종료 여부를 따지며 count
하여 count
한 수를 정답에 append
했다.
나의 풀이
def solution(progresses, speeds):
answer = []
count = 0
# print(progresses)
# print(speeds)
while sum(progresses) > 0:
count = 0
for i in range(len(progresses)):
progresses[i] += speeds[i]
if(progresses[i] >= 100):
if(i == 0 or progresses[i-1] == 0):
count += 1
progresses[i] = 0
speeds[i] = 0
# print(count, progresses, speeds)
if(count > 0):
answer.append(count)
if(sum(answer) == len(progresses)):
break;
return answer