공부/코딩테스트
[프로그래머스] 프린터(스택/큐)
ghhong
2021. 1. 15. 10:59
나의 답 :
def solution(p, l):
answer = 0
while True:
m = max(p)
n = p[l]
f = p.pop(0)
l -= 1
if f==m:
answer+=1
if l==-1:
return answer
else:
p.append(f)
if l==-1:
l=len(p)-1
다른 사람의 답 :
def solution(priorities, location):
queue = [(i,p) for i,p in enumerate(priorities)]
answer = 0
while True:
cur = queue.pop(0)
if any(cur[1] < q[1] for q in queue):
queue.append(cur)
else:
answer += 1
if cur[0] == location:
return answer
pop을 사용하는 것보다 collection의 deque를 사용하는 것이 더 효율적이라고 한다.
출처 : https://stackoverflow.com/questions/21639888/is-it-possible-to-convert-list-to-queue-in-python