[알고리즘] 프로그래머스 - 기능개발

프로그래머스 - 기능개발

내 풀이

import sys
import collections
import heapq
import functools
import itertools
import re
import math
import bisect

def solution(progresses, speeds):
    answer = []
    progresses_q = collections.deque(progresses[:])
    speeds_q = collections.deque(speeds[:])

    while progresses_q:
        count = 0
        while progresses_q and progresses_q[0] >= 100:
            count += 1
            progresses_q.popleft()
            speeds_q.popleft()
        if count > 0:
            answer.append(count)

        while progresses_q and progresses_q[0] < 100:
            for i in range(len(progresses_q)):
                progresses_q[i] += speeds_q[i]

    return answer

큐를 이용해서 실제로 완성도가 100이 넘으면 빼는 방식으로 구현했다.

좋은 웹페이지 즐겨찾기