1966. 프린터 큐

sen·2021년 6월 25일
0

BOJ

목록 보기
10/38
post-thumbnail

문제

백준 1966번 프린터 큐


풀이

간단한 구현 문제. 15분정도 소요됐다.
처음에는 그냥 (중요도, 문서번호) 순서로 키 값을 설정해 정렬하면 되겠다 생각했는데,
중요도가 낮을 경우 큐의 맨 뒤로 삽입한다고 명시되어있기 때문에 deque를 사용해야 했다.

from collections import deque

T = int(input())
while T:
    n, m = map(int, input().split())
    q = list(map(int, input().split()))
    q = deque((i, q[i]) for i in range(n))

    cnt = 0
    while q:
        doc, v = q.popleft()
        for d in q:
            if d[1] > v:
                q.append((doc, v))
                break
        else:
            cnt += 1
            if doc == m:
                break
    print(cnt)
    
    T -= 1

부족한 점

아직 구현 문제에서 입출력을 이해하는데 시간이 많이 걸림

profile
공부 아카이브

0개의 댓글