프로그래머스 스택/큐 Level 2 기능 개발 파이썬 풀이

minan·2021년 6월 21일
0

프로그래머스

목록 보기
10/92

프로그래머스 스택/큐 Level 2 기능 개발 파이썬 풀이

문제링크 https://programmers.co.kr/learn/courses/30/lessons/42586

처음에 day를 안쓰고 다 더해서 시간초과가 났다.

마지막에 answer.append(count)를 해줘야하는 이유는 마지막 수는 if문으로 들어가 q.popleft()하고 반복문이 끝난다. 추가하는 과정을 else에 만들어줬으니 반복문 밖에도 한번 넣어야한다.

from collections import deque

def solution(progresses, speeds):
    answer = []
    
    q = deque(progresses)
    speed_q = deque(speeds)
    
    day = 1
    count = 0
    
    while q:
        if q[0]+(speed_q[0]*day) >= 100:
            q.popleft()
            speed_q.popleft()
            count += 1
        else:
            if count > 0:
                answer.append(count)
            day += 1
            count = 0
    
    answer.append(count)
            
    return answer
profile
https://github.com/minhaaan

0개의 댓글