[プログラマ/python]スタック/キュープリンタ



https://programmers.co.kr/learn/courses/30/lessons/42587

アルゴリズム分類

  • スタック/キュー
  • 問題を解く


    これは白準1966号プリンタのキューと同じ問題です.
    優先度値とインデックスが一緒に保存されている配列リストをキューに設定します.
    後のリストに症状の程度が高い場合は、後に追加し、重要な内容をfalseに変換できます.
    最も重要なドキュメントの場合はresultに追加します.
    そして、出力に必要なインデックスの値が何回目の印刷であればよい.

    ソースコード

    def solution(priorities, location):
        from collections import deque
        
        array=[]
        for i in range(len(priorities)):
            array.append((priorities[i],i))
    
        queue=deque(array)
        result=[]
        while queue:
            important=True
            x,y=queue.popleft()
            for i in range(len(queue)):
                if x<queue[i][0]:
                    queue.append((x,y))
                    important=False
                    break
        
            if important:
                result.append((x,y))
    
        for i in result:  
            if i[1]==location:
                return (result.index(i)+1)