동캄의 코딩도장

백준 1966 [프린터] 파이썬 본문

코테/BOJ

백준 1966 [프린터] 파이썬

동 캄 2022. 3. 7. 12:09

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

 

1966번: 프린터 큐

여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에

www.acmicpc.net

https://programmers.co.kr/learn/courses/30/lessons/42587

 

코딩테스트 연습 - 프린터

일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린

programmers.co.kr

# 백준 1966
import sys
input = sys.stdin.readline


def solution(priorities, location):
    m = max(priorities)
    leng = len(priorities)
    answer = 0
    while priorities:
        val = priorities.pop(0)
        if m > val:
            priorities.append(val)
            if location == 0:
                location = (leng-1)
            else:
                location -= 1
        else:
            if location == 0:
                answer += 1
                break
            else:
                m = max(priorities)
                leng -= 1
                location -= 1
                answer += 1
    return answer


for _ in range(int(input())):
    N, M = map(int, input().split())
    arr = list(map(int, input().split()))
    print(solution(arr, M))

프로그래머스의 프린터 문제와 같은 문제이다.