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

HYEJIN·2022년 6월 12일
0

프로그래머스

목록 보기
3/4

스택/큐 > Lv.2기능개발

구현방법

1) 각각 케이스에 대해서 배포를 하려면 몇일이 걸리는지 계산하여 days 큐에 넣어줌
2) days[0]와 그 이후를 비교하여, days[0]보다 작다면 배포를 할 수 있음으로 큐에서 꺼내주고 cnt가 1증가. 만약 큰값을 만날경우는 바로 break해서 나오도록 함.

내 풀이

from collections import deque

def solution(progresses, speeds):
    answer = []
    days = deque()

    for p, s in zip(progresses, speeds):
        days.append((100 - p) // s) if (100 - p) % s == 0 else days.append(((100 - p) // s) + 1)

    while days:
        cnt = 1
        temp = days.popleft()

        for i in list(days):
            if temp >= i:
                cnt += 1
                days.popleft()
            else:
                break
        answer.append(cnt)

    return answer

0개의 댓글