코딩테스트/프로그래머스

프로그래머스 level 2 - 프린터 (스택/큐)

jhk828 2020. 9. 14. 09:59

programmers.co.kr/learn/courses/30/lessons/42587

 

코딩테스트 연습 - 프린터

일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린��

programmers.co.kr

  • any()for문을 같이 쓸 때
    any(j[1] < x[1] [for x in dq]): => 이거 아님!!
    any(j[1] < x[1] for x in dq):
from collections import deque

def solution(priorities, location):
    cnt = 0
    dq = deque([(i, v) for i, v in enumerate(priorities)])
    target = dq[location]
    while dq:
        j = dq.popleft()
        if any(j[1] < x[1] for x in dq):
            dq.append(j)
        else: # 인쇄가능
            cnt += 1 
            # 인쇄 가능한데 찾던 순서이면 종료
            if j == target:
                    break
    return cnt