일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ML
- SQL
- mysql
- Programmers
- stl
- deque
- join
- PIR
- 백준
- c++
- Neural Network
- Machine learning
- 한화오션
- 모두를 위한 머신러닝
- sung kim
- CSAP
- softmax
- TensorFlow
- 정렬
- BOJ
- 프로그래머스
- Linear Regression
- Queue
- 알고리즘 고득점 kit
- 모두를 위한 딥러닝
- DFS
- 시간초과
- sort
- deep learning
- 큐
Archives
- Today
- Total
hello, world!
[baekJoon1966] 프린터 큐 본문
https://www.acmicpc.net/problem/1966
1966번: 프린터 큐
여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에
www.acmicpc.net
mylist.pop() # 맨 뒤 원소 삭제
mylist.pop(i) # i번째 원소 삭제
import sys
from pprint import pprint
# sys.stdin.readline
# 문서의 개수 n, 궁금함 문서의 현재 위치 m
# 0-n까지 중요도
N = int(sys.stdin.readline())
while N:
N -= 1
s = sys.stdin.readline().split()
n = int(s[0])
m = int(s[1])
imp = sys.stdin.readline().split()
imp = list(int(i) for i in imp)
printer = []
for idx, i in enumerate(imp):
printer.append([i, idx])
ret = 1 # 출력 순서 저장
while True:
if printer[0][0] == max(i[0] for i in printer): # 현재 문서가 중요도 가장 높은 문서인 경우
if printer[0][1] == m: # 현재 문서가 '순서가 궁금한 문서'인 경우
break
printer.pop(0) # 출력한 문서 pop
ret += 1
else: # 현재 문서보다 중요한 문서가 뒤에 있는 경우
tmp = printer.pop(0) # 현재 문서 pop해서 맨 뒤 순서로 이동
printer.append(tmp)
print(ret)
'BAEKJOON > data structures' 카테고리의 다른 글
[baekJoon2164] 카드2 (0) | 2023.10.25 |
---|---|
[baekJoon18258] 큐 2(cin, cout 시간초과 해결법) (0) | 2020.08.12 |
[baekJoon10866] 덱 (0) | 2020.08.12 |
[baekJoon1021] 회전하는 큐(STL/deque정리) (0) | 2020.08.07 |
[baekJoon7785] 회사에 있는 사람(STL/set정리) (0) | 2020.08.06 |
Comments