[프로그래머스 | 스택/큐] 기능개발, Python

·2022년 1월 6일
0

프로그래머스

목록 보기
4/11

Queue

def solution(progresses, speeds):
    answer = []
    from collections import deque
    import math
    p = deque(progresses)
    s = deque(speeds)
    while p:
        # queue의 첫 프로세스 끝나는 데에 걸리는 시간
        days = math.ceil((100 - p.popleft()) / s.popleft())
        # 해당 시간동안 다른 프로세스의 진척도 계산
        if len(p) != 0:
            for idx in range(len(p)):
                p[idx] += s[idx] * days
        # release되는 개수 세기
        release = 1
        while p and p[0] >= 100:
            p.popleft()
            s.popleft()
            release += 1
        answer.append(release)
    return answer

지저분...

시도해볼 것

  • numpy로 풀기
  • list comprehension으로 풀기
profile
튼튼

0개의 댓글