rueki
BOJ 1966. 프린터큐 (Python) 본문
728x90
반응형
https://www.acmicpc.net/problem/1966
1966번: 프린터 큐
문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를
www.acmicpc.net
t = int(input())#테스트케이스 수
for i in range(0,t):
# n과 m을 입력받는다. - 문서 개수와 순서
n, m = list(map(int, input().split(' ')))
#큐에 원소 입력
q = list(map(int, input().split(' ')))
#큐의 각 원소에 인덱스 부여하기 위해서 enumerate 사용 2,1,3,4-> (2,0),(1,1),(3,2),(4,3)
q = [(i, idx) for idx, i in enumerate(q)]
count = 0
while True:
#큐에서의 원소 순서가 최대 중요도와 같은 경우
if q[0][0] == max(q,key=lambda x : x[0])[0]:
count +=1
#문서의 찾고자하는 위치 m과 인덱스 번호가 같으면 출력
if q[0][1] == m:
print(count)
break
else :
#m과 같지 않다면 원소를 빼서
q.pop(0)
# 맨뒤에 삽입한다.
else:
q.append(q.pop(0))
728x90
반응형
'python > 알고리즘 문제풀이' 카테고리의 다른 글
BOJ 10773 . 제로 (0) | 2020.05.06 |
---|---|
BOJ 5397. 키로거 (Python) (0) | 2020.05.05 |
BOJ.2798 블랙잭(Python) (0) | 2020.04.30 |
BOJ.2920 음계(Python) (0) | 2020.04.30 |
10989 수 정렬하기 3 (0) | 2020.01.27 |
Comments