Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 한빛
- env
- 프리온보딩
- codepresso
- 개발스터디
- flask
- 패스트캠퍼스
- 위코드
- 원티드
- pyladies
- 스터디
- 코테
- pyladiesseoul
- git
- 코드프레소
- fluentpython
- cleancode
- AWS
- mongodb
- 파이썬
- 깃
- 예리님
- Python
- 플라스크
- 전문가를위한파이썬
- 환경변수
- 한빛미디어
- React
- 개발
- 리액트
Archives
- Today
- Total
개발자가 내팔자
[BOJ] 백준 1966 프린터 큐 Python 본문
https://www.acmicpc.net/problem/1966
1966번: 프린터 큐
여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에
www.acmicpc.net
from collections import deque
import sys
loop = int(sys.stdin.readline())
for _ in range(loop):
n, m = map(int, sys.stdin.readline().split())
docs = deque(map(int, sys.stdin.readline().split()))
q = deque(0 for _ in range(n))
q[m] = True
i = 0
while q:
while max(docs) > docs[0]:
docs.append(docs.popleft())
q.append(q.popleft())
if q[0] == True:
print(i + 1)
break
docs.popleft()
q.popleft()
i += 1
한 번에 맞았지만 뭔가 while문을 두번 돌린다는 게 찝찝해서 더 좋은 방법이 없을까 찾아봤지만 크게 유의미한 것은 없었던 것 같다.
'Algorithms' 카테고리의 다른 글
[BOJ] 백준 1074 Z Python (0) | 2022.07.29 |
---|---|
[Programmers] 완주하지 못한 선수 Python (0) | 2022.06.01 |
[BOJ] 백준 11866 요세푸스 문제 0 Python (0) | 2022.05.30 |
[BOJ] 백준 1654 랜선 자르기 Python (0) | 2022.05.30 |
[BOJ] 백준 4179 불! Python (0) | 2022.05.30 |
Comments