from collections import deque
def func(x):
return x[0]
T = int(input())
for _ in range(T):
N,M = map(int,input().split())
arr = list(map(int,input().split()))
queue = deque()
for ind,val in enumerate(arr):
queue.append((val,ind))
cnt = 0
while queue:
val, ind = queue.popleft()
if not queue or val >= max(queue,key=func)[0]:
cnt += 1
if ind == M:
break
else:
queue.append((val,ind))
print(cnt)
문제에 주어진대로 구현을 하면 되는 문제이다.
단 다른점은 queue에 초기에 현재의 값과 idx의 값을 동시에 넣어주고,
원하는 ind에 도착하면 멈춰주는식으로 했다.
'알고리즘 > 백준' 카테고리의 다른 글
[BOJ/백준] 21937 작업 (0) | 2021.06.11 |
---|---|
[BOJ/백준] 4315 나무 위의 구슬 (0) | 2021.06.11 |
[BOJ/백준] 1102 발전소 (0) | 2021.06.11 |
[BOJ/백준] 21925 짝수 팰린드롬 (0) | 2021.06.10 |
[BOJ/백준] 21924 도시건설 (4) | 2021.06.10 |