https://www.acmicpc.net/problem/1966
import sys
from collections import deque
input = sys.stdin.readline
T = int(input())
for _ in range(T):
N, M = map(int, input().split(" "))
# 중요도
li = list(map(int, input().split(" ")))
dq = deque()
for i in li:
dq.append(i)
seq = M
dap = 1
while len(dq) != 0:
# 맨 앞의 프린트물이 중요도가 가장 높지 않으면 빼고 맨뒤에 추가
if dq[0] < max(dq):
dq.append(dq.popleft())
else:
# 찾으려는 프린트물이 나올 차례일 때 반복문 종료
if seq == 0:
break
# 아니면 프린트물을 빼고 찾으려는 프린트물의 순서 증가
dq.popleft()
dap += 1
# 프린트물 맨뒤로 보내고 찾으려는 프린트물의 순서 초기화화
if seq > 0:
seq -= 1
else:
seq = len(dq)-1
print(dap)'코딩테스트 > 코딩테스트 문제풀이' 카테고리의 다른 글
| [Python] 백준 <2792-보석 상자> (0) | 2025.06.21 |
|---|---|
| [Python] 백준 <9375-해적왕 신해빈> (0) | 2025.06.11 |
| [Python] 백준 <1058-친구> (0) | 2025.06.09 |
| [Python] 백준 <4948-베르트랑 공준> (0) | 2025.06.09 |
| [Python] 백준 <14888-연산자 끼워넣기> (0) | 2025.06.06 |