본문 바로가기

코테

[프로그래머스] <프린터> 파이썬

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

 

코딩테스트 연습 - 프린터

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

programmers.co.kr

from collections import deque

def compare(a,b) :
    if a[0] >= b[0] : return False
    else : return True
    
def solution(priorities, location):
    locations = [i for i in range(len(priorities))]
    queue = deque([])
    ans = 1
    for j, j_index in zip(priorities, locations) :
        queue.append([j,j_index])
    while queue :
        j = queue.popleft()
        if not queue : return ans
        if compare(j,max(queue)) : queue.append(j)
        else :
            if j[1] == location : return ans
            else : ans += 1
        
    
    

정확성 테스트

테스트 1 통과 (0.28ms, 10.2MB)
테스트 2 통과 (1.85ms, 10.2MB)
테스트 3 통과 (0.14ms, 10.2MB)
테스트 4 통과 (0.08ms, 10.2MB)
테스트 5 통과 (0.01ms, 10.3MB)
테스트 6 통과 (0.21ms, 10.2MB)
테스트 7 통과 (0.23ms, 10.2MB)
테스트 8 통과 (1.21ms, 10.1MB)
테스트 9 통과 (0.03ms, 10.2MB)
테스트 10 통과 (0.25ms, 10.1MB)
테스트 11 통과 (0.70ms, 10.2MB)
테스트 12 통과 (0.06ms, 10.2MB)
테스트 13 통과 (0.90ms, 10.2MB)
테스트 14 통과 (0.01ms, 10MB)
테스트 15 통과 (0.03ms, 10.2MB)
테스트 16 통과 (0.07ms, 10.2MB)
테스트 17 통과 (1.65ms, 10.3MB)
테스트 18 통과 (0.03ms, 10.2MB)
테스트 19 통과 (1.30ms, 10MB)
테스트 20 통과 (0.19ms, 10.3MB)

채점 결과

정확성: 100.0

합계: 100.0 / 100.0