Algorithm Problems

[백준] [Python] 1966번 프린터 큐 - 큐

WakaraNai 2021. 5. 16. 12:20
728x90
반응형

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

 

1966번: 프린터 큐

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

www.acmicpc.net

 

 

 

Python

from collections import deque

t = int(input())
for i in range(t):
    n,m = map(int,input().split())
    arr = list(map(int,input().split()))
    arr = deque(arr)
    q = deque([i for i in range(n)])
    
    ans = 0
    while q:
        
        x = arr[0]
        xidx = q[0]
        
        if max(list(arr)) == x:
            ans+=1
            if xidx == m:
                print(ans)
                break
            q.popleft()
            arr.popleft()
        else:
            arr.append(arr.popleft())
            q.append(q.popleft())   
        
        #print(ans,xidx,arr) 
728x90
반응형