def solution(progresses, speeds):
answer = []
while progresses:
for i, (_, s) in enumerate(zip(progresses, speeds)):
progresses[i] += s
if progresses[0] >= 100:
cnt = 0
while progresses and progresses[0] >= 100:
progresses.pop(0)
speeds.pop(0)
cnt += 1
answer.append(cnt)
return answer
후기
- while문을 무한루트
while 1:
로 만들고 마지막에 if not progresses: break
와 같이 처리를 했는데 위와 같이 while progresses:
를 하면 동일 조건임
list
자료구조를 사용하여 메모리가 비효율적. queue
와 deque
사용에 익숙해 져야함
if len(progresses) > 0:
을 if progresses:
로 줄여 길이가 0인 배열을 검사할 수 있음