본문으로 바로가기

백준_1966

category 알고리즘 2021. 5. 9. 22:11

www.acmicpc.net/problem/1966

 

1966번: 프린터 큐

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

www.acmicpc.net

큐를 이용해서 구현하는 문제 입니다. 시간 초과도 날 일이 없고 요구사항에 맞춰서 구현해 주면 됩니다.

 

from collections import deque

num = int(input())

for _ in range(num):
    N, M = list(map(int, input().split(' ')))
    queue = deque()
    number_list = []
    for i, v in enumerate(list(map(int, input().split(' ')))):
        queue.append([i, v])
        number_list.append(v)

    number_list.sort()
    count = 1
    first = number_list.pop()

    while queue:
        i, v = queue.popleft()
        if v == first:
            if i == M:
                print(count)
                break
            else:
                first = number_list.pop()
            count += 1
        else:
            queue.append([i, v])

'알고리즘' 카테고리의 다른 글

백준_유레카이론  (0) 2021.05.05
백준_14888  (0) 2021.04.25
백준_20055  (0) 2021.04.25
백준_12026  (0) 2021.04.11
프로그래머스_등굣길  (0) 2021.04.11