이 문제는 원하는 인덱스의 변화를 추적해야하는 큐 문제였다. 큐의 사이즈가 계속 변한다는 걸 잊어버리고 N을 갱신하지 않아서 런타임에러가 떴었다. 흑 알려주셔서 감사합니다🙏🏻
정답코드
from _collections import deque
T = int(input())
result = []
for _ in range(T):
N, index = map(int, input().split())
queue = deque(map(int, input().split()))
count = 0
while True:
if queue[0] == max(queue):
count += 1
if index == 0: # 우리가 원하는 숫자가 최댓값이면서 front임!
result.append(count)
break
queue.popleft()
N -= 1 #N은 바뀌잖아
else:
queue.append(queue.popleft())
index = (N + index - 1) % N
for num in result:
print(num)
파이썬 큐를 사용할 때 꼭 지키기: collections.deque를 사용하기!