코딩테스트
[백준][파이썬]1966번: 프린터 큐
과아아앙
2021. 4. 7. 04:06
문제 출처 : www.acmicpc.net/problem/1966
내 풀이
from collections import deque
k = int(input())
for i in range(k):
arr = deque()
answer = 0
cnt = 0
n, m = map(int, input().split())
doc = list(map(int, input().split()))
for i in range(n):
arr.append((doc[i], i))
doc.sort(reverse = True)
check = doc[answer]
while arr:
x, y = arr.popleft()
if x < check:
arr.append((x, y))
else:
answer += 1
if y == m:
print(answer)
break
else:
check = doc[answer]
1. 문서의 중요도 최댓값 저장
2. 가장 중요한 문서보다 값이 작으면 뒤로 돌려보냄
3. 가장 중요한 문서와 값이 같으면 버리고 answer에 1 더함
4. 3번에 이어서 이 때 문서의 번호가 확인하고자 하는 문서의 번호와 일치하면 프린트하고 종료