[スタック/キュー]プログラマ-プリンタ/python
リンク
https://programmers.co.kr/learn/courses/30/lessons/42587
問題の説明
I/O例
💡 構想
1)優先度[0]がJ値
2)優先度内部でJ値が最大の場合、
2-1) priorities.pop(0)
2-2) result.append(idx(0))
3)優先度が最大値でない場合、
3-1) priorities.append(priorities.pop(0))
3-2) idx.append(idx.pop(0))
4)出力順のインデックス値を含む結果
->したがって、resultはlocationと等価なindex+1を返し、
Code
def solution(priorities, location):
result=[]
idx = [i for i in range(len(priorities))]
while len(priorities)!=0:
if priorities[0]==max(priorities):
result.append(idx.pop(0))
priorities.pop(0)
else:
priorities.append(priorities.pop(0))
idx.append(idx.pop(0))
for i in range(len(result)):
if result[i]==location:
return i+1
// 아래 for문
// return result.index(location)+1 으로도 접근 가능!
Reference
この問題について([スタック/キュー]プログラマ-プリンタ/python), 我々は、より多くの情報をここで見つけました https://velog.io/@jiyeon0410/스택큐-프로그래머스-프린터テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol