[programmers]プリンタ
4059 ワード
ソース:プログラマコードテスト練習
https://programmers.co.kr/learn/courses/30/lessons/42587
一番前の要素を取り出し、残りの優先度のip要素の中で、一番値であれば、答えにインデックス値を入れ、一番値でなければ、ipの一番後ろに探索するコードを入れます
答えに入力したインデックス値が必要なlocationの値であれば、len(答え)が知りたい順番に戻る
https://programmers.co.kr/learn/courses/30/lessons/42587
📝 プール(Python 3)
def solution(priorities, location):
answer = []
# [인덱스, 우선순위값] 리스트 생성
ip = [[i, p] for i, p in enumerate(priorities)]
# answer 리스트에 우선순위에 따라 출력하는 순서대로 인덱스값 넣어줌
while len(answer) != len(priorities):
# 판단해야 하는 요소를 factor로 지정
factor = ip.pop(0)
# 우선순위가 최대가 아니라면 ip에 맨 끝으로 추가
if ip and factor[1] < max([i[1] for i in ip]):
ip.append(factor)
# 우선순위가 최대라면 answer값에 인덱스값을 추가
else:
answer.append(factor[0])
# answer에 넣어준 값이 location 값과 같으면 len(answer)는 원하는 문서의 인쇄 차례이므로 return
if answer[-1] == location:
return len(answer)
キューの問題一番前の要素を取り出し、残りの優先度のip要素の中で、一番値であれば、答えにインデックス値を入れ、一番値でなければ、ipの一番後ろに探索するコードを入れます
答えに入力したインデックス値が必要なlocationの値であれば、len(答え)が知りたい順番に戻る
Reference
この問題について([programmers]プリンタ), 我々は、より多くの情報をここで見つけました https://velog.io/@puro/Programmers-프린터テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol