[프로그래머스] 스택/큐 - 프린터(Python3)

kimgaeul02·2022년 11월 17일

프로그래머스

목록 보기
4/11

📄 프린터

🔗 문제 출처
🔗 참고한 포스팅 : deque

📌 풀이

무턱대고 를 queue를 사용하려고 하였으나 구현이 어려워 다른 방법을 찾아보던 중 collections에서 제공하는 deque에 대해 알게 되었습니다.

💻 코드

from collections import deque

def solution(priorities, location):
    priList = []
    answer = []
        
    #1 deque priList 생성
    for i in range(len(priorities)):
        priList.append([priorities[i],i])
    priList=deque(priList)
    
    #2 우선순위
    while priList:
        if priList[0][0]==max(priorities):
            #priList[0][0]의 우선순위가 가장 높다면 answer로 pop
            priorities.pop(priorities.index(max(priorities)))
            #priorities.pop(maximum of priorities)
            answer.append(priList[0])
            priList.popleft()
        else:
            #우선순위가 가장 높지 않다면 priList[]의 뒤로
            priList.append(priList[0])
            priList.popleft()
            
    #3 문서 위치 찾기
    for i in range(len(answer)):
        if answer[i][1]==location:
            #location과 위치 값이 다르므로 +1
            return i+1
    

0개의 댓글