프로그래머스 2단계 "프린터"

sanha_OvO·2021년 6월 30일
0

Algorithm

목록 보기
66/84

문제

프로그래머스 2단계 프린터


풀이

백준 1966번과 동일한 문제

가중치큐와 인덱스큐를 같이 돌려가면서 출력된 순서대로 인덱스가 나열되있는 리스트를 만들고,
location에 해당하는 값의 인덱스+1(출력된 순서)을 반환해주면 된다.


Python 코드

from collections import deque

def solution(priorities, location):
  deq = deque(priorities)
  idx = deque([i for i in range(len(priorities))])
  answer = []
  while deq:
    if deq[0] == max(deq):
      deq.popleft()
      answer.append(idx.popleft())
    else:
      deq.append(deq.popleft())
      idx.append(idx.popleft())
  
  return answer.index(location)+1
profile
Web Developer / Composer

0개의 댓글