from collections import deque
def solution(priorities, location):
lst = [i for i in range(len(priorities))]
pri = deque(priorities)
loc = deque(lst)
answer = 0
while True:
front = pri.popleft()
l = loc.popleft()
if pri and front < max(pri):
pri.append(front)
loc.append(l)
else:
answer += 1
if l == location:
break
return answer
다른 풀이
def solution(priorities, location):
answer = 0
from collections import deque
d = deque([(v,i) for i,v in enumerate(priorities)])
while len(d):
item = d.popleft()
if d and max(d)[0] > item[0]:
d.append(item)
else:
answer += 1
if item[1] == location:
break
return answe
programmers.co.kr/learn/courses/30/lessons/42587#
'알고리즘 > 프로그래머스(Python)' 카테고리의 다른 글
힙 - 디스크 컨트롤러 / 파이썬 (0) | 2020.11.05 |
---|---|
힙 - 더 맵게 / 파이썬 (0) | 2020.11.05 |
큐 - 다리를 지나는 트럭 / 파이썬 (0) | 2020.11.03 |
스택 - 기능개발 / 파이썬 (0) | 2020.11.03 |
스택 - 주식가격 / 파이썬 (0) | 2020.11.03 |