백준 1966: 프린터 큐 (파이썬)
1966번: 프린터 큐
여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에
www.acmicpc.net
# [BOJ] 1966. 프린터 큐
T = int(input())
for tc in range(T):
# N: 문서의 개수, M: 현재 queue에서의 위치
N, M = map(int, input().split())
ans = 0
# N개 문서의 중요도
imp = list(map(int, input().split()))
L = ['o'] * N
L[M] = 'x'
while 'x' in L:
# 맨 앞 값보다 중요도가 높은 값이 하나라도 있는 경우
while imp[0] < max(imp):
L.append(L.pop(0))
imp.append(imp.pop(0))
if imp[0] == max(imp):
L.pop(0)
imp.pop(0)
ans += 1
print(ans)
입력값 양식을 이해하는 데 오히려 시간이 오래 걸렸다
가상의 값 o들과 특정 값 x를 이용한 리스트를 새로 만들고
중요도 리스트와 동시에 관리
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 11976. Promotion Counting (python) (0) | 2022.12.17 |
---|---|
[BOJ] 2805 나무 자르기 (python) (0) | 2022.12.12 |
[BOJ] 4949 균형잡힌 세상 (python) (0) | 2022.12.10 |
[BOJ] 2217 로프 (python) (0) | 2022.11.27 |
[BOJ] 10989 수 정렬하기 3 (python) (0) | 2022.10.03 |