[プロセス/Python]スタック/キュー-プリンタ
👩🏻🏫 に答える
from collections import deque
def solution(priorities, location):
answer = 0
q = deque([(v,i) for i,v in enumerate(priorities)])
# q가 비어질때까지
while q:
item = q.popleft()
# 남은 q 원소가 있는지, 있다면 max값과 비교하여 max값보다 작다면
if q and max(q)[0] > item[0]:
q.append(item)
else:
# 인쇄 횟수 증가
answer += 1
# 인쇄된 부분이 요청한 페이지와 같다면
if item[1] == location:
break
return answer
deque()
・enumerate()
使ってみて分かったハハ# q = deque([(2, 0), (1, 1), (3, 2), (2, 3)])
q = deque([(v,i) for i,v in enumerate(priorities)])
print(max(q)[0]) # 3
# err = deque([(0, 2), (1, 1), (2, 3), (3, 2)])
err = deque([(i,v) for i,v in enumerate(priorities)])
print(max(err)[1]) # 2
Reference
この問題について([プロセス/Python]スタック/キュー-プリンタ), 我々は、より多くの情報をここで見つけました https://velog.io/@sugenius77/프로그래스Python-스택큐-프린터テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol