본문 바로가기

코딩

[Python] 백준 #1966. 프린터 큐

https://www.acmicpc.net/problem/1966

 

1966번: 프린터 큐

여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에

www.acmicpc.net

 

# 1966 - Python 3

import sys
from collections import deque

input = sys.stdin.readline

k = int(input())

for _ in range(k):
    n, m = map(int, input().split())
    s = deque(map(int, input().split()))
    count = 0

    while s:
        maximum = max(s)                    # 최댓값
        front = s.popleft()                 # 가장 앞 쪽의 값
        m -= 1

        if maximum == front:                
            count += 1

            if m < 0:                       # front가 출력 순서를 찾고자 하는 문서인 경우
                print(count)
                break
        else:
            s.append(front)                 

            if m < 0:
                m = len(s) - 1

'코딩' 카테고리의 다른 글

[Python] 백준 #2903. 중앙 이동 알고리즘  (0) 2023.03.29
[Python] 백준 #2720. 세탁소 사장 동혁  (0) 2023.03.29
[Python] 백준 #10773. 제로  (0) 2023.03.29
[Python] 백준 #10828. 스택  (0) 2023.03.29
[Python] 백준 #10845. 큐  (0) 2023.03.29