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 |