<문제 링크>
https://www.acmicpc.net/problem/1966
1966번: 프린터 큐
여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에
www.acmicpc.net
<정답 코드>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
file = list(map(int, input().split()))
answer = 1
while file:
if file[0] < max(file):
file.append(file.pop(0))
else:
if m == 0:
break
file.pop(0)
answer += 1
m = m-1 if m > 0 else len(file) - 1
print(answer)
|
cs |
처음엔 deque으로 구현하려고 했는데, pop을 이용하면 리스트로 간단히 구현할 수 있다.
'프로그래밍 > Python' 카테고리의 다른 글
프로그래머스_python lv2. 타겟 넘버(깊이/너비 우선 탐색(DFS/BFS)) (1) | 2024.04.20 |
---|---|
프로그래머스_python lv2. 다리를 지나는 트럭(스택, 큐 - deque) (0) | 2024.04.18 |
백준_python 2108번 통계학(시간초과, collections.Counter 모듈) (0) | 2024.04.08 |
백준_python 1929번 소수 구하기(시간 초과, 에라토스테네스의 체) (1) | 2024.04.05 |
백준_python 4949번 균형잡힌 세상(출력 초과) (0) | 2024.04.04 |