큐는 선입선출의 형태, 각 문서들마다 중요도가 주어지는데, 중요도대로 출력할 수 있도록 하여야 한다.
따라서, 가장 맨 앞에 위치한 문서의 중요도를 확인하고, 나머지 문서에 중요도가 더 높은 것이 있다면,
빼고 다시 넣어주며 이를 반복하며 중요도 대로 출력되도록 해준다.
import sys
n, m = map(int, sys.stdin.readline().strip().split(' '))
라고 해주어야하는데 int(input())때문인지 int로 괄호를 묶어주어서 오류가 났었다.. 멍청
#프린터 큐
import sys
t = int(sys.stdin.readline().strip())
result = []
for _ in range(t):
n, m = map(int, sys.stdin.readline().strip().split(' '))
num = list(map(int, sys.stdin.readline().strip().split(' '))) # 문서들의 중요도
idx = [0 for _ in range(n)]
idx[m] = "target" # 몇 번째로 출력되는 지 궁금한 문서의 위치 표시
cnt = 0 # 몇 번째로 출력되는 지
while True:
if num[0] == max(num):
cnt += 1
if idx[0] == "target":
result.append(cnt)
break
else:
del num[0]
del idx[0]
else:
num.append(num[0])
del num[0]
idx.append(idx[0])
del idx[0]
print(*result, sep="\n")
내가 찾고자 하는 문서의 위치를 따로 리스트로 표현해주어야 했다.
반응형