[Python]BaekJoon.AC

[Python]백준 BaekJoon.AC 1966 : 프린터 큐(queue)

스뇨잉 2022. 1. 27. 23:50
728x90
728x90

 

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

 

1966번: 프린터 큐

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

www.acmicpc.net

 

 

 

 

 

 

점점 문제가 복잡해진다...!

헷갈려서 이번 문제부터 설계를 메모하기 시작했는데, 마침 설명하기도 난해한 문제라 그냥 메모로 대신한다.

 

글씨가 좀 흩날라가서.. (차마 패드도 교정해주지 못한 악필..)

다음부턴 더 열심히 써야겠다..!!

그리고 이젠 설계하는 습관을 더 들여야겠다.

 

 

코드가 복잡한 것 같아 시간이 오버될 줄 알았는데 통과됐다.

조건 범위가 그리 넓지 않아서 그런 듯 하다..

그래도 나름 짧은 시간이라 의외라 생각했는데, 다른 사람들을 보니 그런 것도 아니더라ㅎ..

ㅎㅎ..

 

 

 

import sys
from queue import Queue

T = int(input())

for t in range(T):
    N, M = map(int, input().split())
    iptt = []
    que = Queue()
    for i in map(int, sys.stdin.readline().split()):
        iptt.append(i)
        que.put((i, que.qsize()))
    iptt.sort(reverse=True)

    count = 0
    done = False
    for target in iptt:
        while True:
            temp = que.get()
            if target == temp[0]:
                if temp[1] == M:
                    done = True
                count = count + 1
                break
            else:
                que.put(temp)

        if done:
            print(count)
            break

 

 

728x90
728x90