출처 : 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)
'알고리즘 > [Python] 백준' 카테고리의 다른 글
(Python) 백준 1021번 : 회전하는 큐 (0) | 2020.02.06 |
---|---|
(Python) 백준 3190번 : 뱀 (0) | 2020.02.05 |
(Python) 백준 14499번 : 주사위 굴리기 (0) | 2020.02.05 |
(Python) 백준 1018번 : 체스판 다시 칠하기 (0) | 2020.02.04 |
(Python) 백준 2178번 : 미로 탐색 (0) | 2020.02.02 |