[프로그래스/Python] 스택/큐 - 프린터

Sujin Lee·2022년 4월 19일
0

코딩테스트

목록 보기
27/172
post-thumbnail

👩🏻‍🏫 풀이

from collections import deque
def solution(priorities, location):
    answer = 0
    q = deque([(v,i) for i,v in enumerate(priorities)])
    # q가 비어질때까지 
    while q:
        item = q.popleft()
        # 남은 q 원소가 있는지, 있다면 max값과 비교하여 max값보다 작다면
        if q and max(q)[0] > item[0]:
            q.append(item)
        else:
        	# 인쇄 횟수 증가
            answer += 1
            # 인쇄된 부분이 요청한 페이지와 같다면
            if item[1] == location:
                break
    return answer
  • deque(), enumerate() 사용하는 것까지는 알았다 ㅎㅎ
  • 에러잡이
# q = deque([(2, 0), (1, 1), (3, 2), (2, 3)])
q = deque([(v,i) for i,v in enumerate(priorities)])
print(max(q)[0])    # 3

# err = deque([(0, 2), (1, 1), (2, 3), (3, 2)])
err = deque([(i,v) for i,v in enumerate(priorities)])
print(max(err)[1])  # 2
profile
공부한 내용을 기록하는 공간입니다. 📝

0개의 댓글