honey_pot

[python] 프린터 - queue, any 본문

문제 풀이

[python] 프린터 - queue, any

_tera_ 2021. 11. 6. 17:03

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

 

코딩테스트 연습 - 프린터

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

programmers.co.kr

 

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 # 출력해서 1 추가
            if cur[0] == location: # location의 순서
                return answer

enumerate로 인덱스와 값을 뽑아 queue에 저장하고 any를 이용해서 우선순위를 비교하는 부분이 포인트

'문제 풀이' 카테고리의 다른 글

[python] 카펫  (0) 2021.11.07
[python] 다리를 지나는 트럭 - queue  (0) 2021.11.06
[python] 위장 (Counter, reduce 함수)  (0) 2021.11.04
[python] 피보나치의 수  (0) 2021.09.14
[python] JadenCase 문자열 만들기  (0) 2021.09.13
Comments