[프로그래머스] 기능 개발

Tae-Kyun Kim·2022년 1월 19일
0

   
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 자료구조를 사용하여 메모리가 비효율적. queuedeque 사용에 익숙해 져야함
  • if len(progresses) > 0:if progresses:로 줄여 길이가 0인 배열을 검사할 수 있음

0개의 댓글