def solution(priorities, location):
queue = [(i,p) for i,p in enumerate(priorities)]
#(i,p) = (0,2),(1,1),(2,3),(3,2)
answer = 0 #몇 번째 출력인지 넣을 것
while True:
cur = queue.pop(0) #비교할 거 꺼내둠
if any(cur[1] < q[1] for q in queue):
queue.append(cur) #큰게 있으면 꺼내둔거 다시 추가
else : #큰게 없다면 꺼내둔 것이 우선순위가 가장 높음
answer +=1 # 몇번째에 출력된 것인지 count
if cur[0] == location : # 찾는 위치의 원소라면
return answer
우선순위와 원래의 인덱스를 저장해두고
우선순위끼리 비교 후, 가장 높은 값이라면 처리했다고 가정 (answer+=1) 한뒤 처리한 인덱스가 location에 해당하면 return하고 종료.
튜플로 (인덱스, 우선순위) 저장하여 접근할 때 cur[0]은 인덱스, cur[1]은 우선순위이다.