본문 바로가기

programmers 알고리즘/구현

42587번: 프린터

programmers.co.kr/learn/courses/30/lessons/42587

 

코딩테스트 연습 - 프린터

일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린

programmers.co.kr

from collections import deque


def solution(priorities, location):
    # queue: [(2, 0), (1, 1), (3, 2), (2, 3)]
    queue = deque((p, i) for i, p in enumerate(priorities))
    print(queue)

    cnt = 0
    while queue:
        cp, ci = queue.popleft()
        if any(cp < p for p, i in queue):  # 최우선순위가 아니라면
            queue.append((cp, ci))
        else:
            cnt += 1
            if ci == location:
                return cnt


res = solution([2, 1, 3, 2], 2)
print(res)

'programmers 알고리즘 > 구현' 카테고리의 다른 글

42627번: 디스크컨트롤러 (힙)  (0) 2020.11.05
42626번: 더 맵게 (힙)  (0) 2020.11.04
42583번: 다리를 지나는 트럭  (0) 2020.11.04
기능개발 (스택/큐)  (0) 2020.11.04
주식가격 (스택/큐)  (0) 2020.11.03