[백준 1966] 프린터 큐

김태민·2026년 4월 21일


최종 코드

from collections import deque

k = int(input())

for _ in range(k):
  n, m = map(int, input().split())
  imp = list(map(int, input().split()))
  
  que = deque()
  for i in range(len(imp)):
    que.append([imp[i], i])
  
  count = 0            
  
  while(que):
    # 최댓값이 존재할 경우
    if(que[0][0] < max(que)[0]):
      que.append(que.popleft())
      
    # 뽑아도 되는 경우
    else:
      if(que[0][1] == m):
        print(count + 1)
        break
      que.popleft()
      count += 1

      
  
      

각 케이스마다 print를 해줘야 해서 입력값을 받으면서 결과를 출력하도록 했다.

보통 que에는 값을 하나만 넣는데, 이번에는 인덱스와 중요도를 엮어서 처리해야 했기 때문에, 리스트 형태로 큐에 집어넣었다.

profile
빠르게 성장하는 개발자

0개의 댓글