[프로그래머스 파이썬] 프린터

일단 해볼게·2023년 2월 13일
0

프로그래머스

목록 보기
33/106

https://school.programmers.co.kr/learn/courses/30/lessons/42587

from collections import deque

def solution(priorities, location):
    queue = deque(priorities)
    answer = 0

    while queue:
        first_priority = max(queue) # 우선순위 가장 높은 요소
        now = queue.popleft() 
        location -= 1

        if first_priority > now: # 우선순위가 아닌 경우
            queue.append(now)

            if location == -1: # 인덱스 벗어날 경우
                location = len(queue) - 1
        else: # 우선순위인 경우
            answer += 1 # 인쇄순서 +1

            if location == -1: # 내가 요청한 문서
                break  

    return answer

deque를 사용해 pop할 때 시간복잡도를 줄였다.

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글