알고리즘/[Python] 백준
(Python) 백준 1966번 : 프린터 큐
maengjh
2020. 2. 5. 17:02
출처 : https://www.acmicpc.net/problem/1966
1966번: 프린터 큐
문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를
www.acmicpc.net
In [1]:
# import sys
# input = sys.stdin.readline()
def functions(m, queue, cnt):
while(1):
notice = 1
for i in range(1, len(queue)):
if(queue[0][1] < queue[i][1]):
queue.append(queue[0])
del queue[0]
notice = 0
break
if(notice == 0):
continue
else:
cnt += 1
if(queue[0][0] == m):
break
else:
del queue[0]
return cnt
In [2]:
#입력 갯수
ip = int(input())
answer = [] ## 출력 값
list1 = []
list2 = []
for i in range(ip):
list1.clear()
list2.clear()
N, M = map(int, input().split())
list1 = list(map(int, input().split()))
for j in range(N):
list2.append([j, list1[j]])
answer.append(functions(M, list2, 0))
In [3]:
for item in answer:
print(item)