프린터 큐
백준 1874: 문제링크
문제유형 : 큐, 구현, 그리디
설명
queue의 head의 값이 최대값과 동일한 지 확인한다.
동일하면 지정한 값과 동일한 지 확인한다.
아니면 값을 queue의 tail로 보낸다
지정한 값과 동일하면 출력 아니면 값을 제거한다.
풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19test_case = int(input())
for _ in range(test_case):
n, m = list(map(int, input().split(' ')))
queue = list(map(int, input().split(' '))
queue = [(i, idx) for idx, i in enumerate(queue)]
count = 0
while True:
if queue[0][0] == max(queue, key=lambda x : x[0])[0]:
count += 1
if queue[0][1] == m:
print(count)
break
else:
queue.pop(0)
else:
queue.append(queue.pop(0))