문제
풀이
테스트 케이스의 수를 받고 큐 자료구조에 중요도를 넣는다.
주어진 입력값 중 m 값을 계속 바꾸며 내가 찾는 문서가 어디 있는지 추적한다.
문서를 인쇄할 때마다 카운트를 늘려 몇 번째로 출력되는지를 찾는다.
내가 찾는 문서가 가장 앞에 있고, 중요도가 최댓값과 같다면 그 때 출력할 수 있음을 유의하며 코드를 작성한다.
코드
from collections import deque
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
lst = list(map(int, input().split()))
q = deque()
cnt = 1
for i in lst:
q.append(i)
while True:
if max(q) == q[0]:
if m == 0:
print(cnt)
break
else:
q.popleft()
cnt += 1
if m == 0:
m = len(q) - 1
else:
m -= 1
else:
x = q.popleft()
q.append(x)
if m == 0:
m = len(q) - 1
else:
m -= 1
'Koala - 15기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 10872번 : 팩토리얼 (0) | 2024.08.16 |
---|---|
[백준/Python] 2852번 : NBA 농구 (0) | 2024.08.15 |
[백준/Python] 15650번 : N과 M (2) (0) | 2024.08.11 |
[BOJ/Python3] 10972번 다음 순열 (0) | 2024.08.11 |
[백준/Python] 1718번 : 암호 (0) | 2024.08.11 |