코딩테스트 대비/BOJ
[Baekjoon/Python] 1966번: 프린터 큐 - 효과는 굉장했다!
bluetag_boy
2021. 11. 2. 22:54
반응형
1966번: 프린터 큐
여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에
www.acmicpc.net
알고리즘 분류
- 구현
- 자료 구조
- 시뮬레이션
- 큐
SOLUTION
import sys
from collections import deque
for _ in range(int(sys.stdin.readline())):
n, m = list(map(int, sys.stdin.readline().split()))
imp = deque(map(int, sys.stdin.readline().split()))
idx = deque(range(len(imp)))
idx[m] = 'target'
# 순서
order = 0
while True:
# 가장 앞에 있는 문서의 중요도 확인
if imp[0] == max(imp):
order += 1
# 가장 앞에 있는 문서의 중요도가 가장 높고 찾으려는 target 일 때
if idx[0] == 'target':
print(order)
break
else:
imp.popleft()
idx.popleft()
else:
imp.append(imp.popleft())
idx.append(idx.popleft())