알고리즘/백준

[백준] 1966번 프린터 큐 (파이썬)

알감자 2021. 12. 28. 20:47
 

1966번: 프린터 큐

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

www.acmicpc.net

 

코드

from collections import deque

def print_que(list_num, want, array):
    check_li = [0 for i in range(list_num)]
    check_li[want] = 1
    cnt = 0
    for i in range(list_num):
        while array[0] != max(array):
            x = array.pop(0)
            z = check_li.pop(0)
            array.append(x)
            check_li.append(z)
        cnt += 1
        array.pop(0)
        y = check_li.pop(0)
        if y == 1:
            return cnt

n = int(input())
for i in range(n):
    list_num, want = map(int, input().split())
    array = list(map(int, input().split()))
    a = print_que(list_num, want, array)
    print(a)