[Python] 백준 1966번: 프린터 큐

Jonie Kwon·2022년 4월 17일
0

https://www.acmicpc.net/problem/1966

풀이

인쇄한 문서의 인덱스를 담는 printed 리스트를 만들고 모든 문서를 인쇄할 때 까지 반복
현재 문서의 중요도가 리스트 내부의 중요도보다 크거나 같으면 중요도를 -1로 바꾸면서 printed에 인덱스 추가
확인할 인덱스 m에 해당하는 인덱스의 문서를 출력하게 되면 인쇄한 문서들의 길이+1을 출력하고 순회 종료

코드

import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
    n, m = map(int,input().split())
    importances = list(map(int, input().split()))
    printed = []
    i = 0
    lenth = len(importances)
    while m not in printed:
        imp = importances[i]
        if imp >= max(importances):
            if i==m:
                print(len(printed)+1)
                break
            printed.append(i)
            importances[i] = -1
        i = (i + 1) % lenth

profile
메모하는 습관

0개의 댓글