📌 문제
💯 정답
import sys
from collections import deque
input = sys.stdin.readline
tc = int(input())
for _ in range(tc):
n, m = map(int, input().split())
que = deque(list(map(int, input().split())))
idx = deque(list(range(n)))
cnt = 0
while que:
if que[0] == max(que):
cnt += 1
que.popleft()
if idx.popleft() == m:
print(cnt)
else:
que.append(que.popleft())
idx.append(idx.popleft())
📝 설명
• que의 첫번째 요소가 최댓값이 될 때 까지 왼쪽값을 pop해 오른쪽에 append 한다.
(이때, index값도 동일하게 움직여야 한다.)
• que의 첫번째 요소가 최댓값이면 카운트 1을 하고 pop한다. 이때 idx값이 m이면
즉, 궁금한 문서가 맞으면 cnt를 출력하고 아니면 m의 값이 될 때까지 순서대로 max값을 pop하며 카운트한 값을 출력한다.