본문 바로가기

코테

[프로그래머스] <이중우선순위큐> 파이썬

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

 

코딩테스트 연습 - 이중우선순위큐

 

programmers.co.kr

import heapq
def solution(operations):
    queue = []
    for operation in operations :
        operator, operand = operation.split()
        operand = int(operand)
        if operator == 'I' : heapq.heappush(queue, operand)
        elif queue :
            if operand > 0 : queue.remove(max(queue))
            else : heapq.heappop(queue)
    if queue : return [queue[-1],queue[0]]
    else : return [0, 0]

정확성 테스트

테스트 1 통과 (0.04ms, 10.2MB)
테스트 2 통과 (0.03ms, 10.3MB)
테스트 3 통과 (0.03ms, 10.3MB)
테스트 4 통과 (0.02ms, 10.3MB)
테스트 5 통과 (0.03ms, 10.2MB)
테스트 6 실패 (0.03ms, 10.3MB)

채점 결과

정확성: 83.3

합계: 83.3 / 100.0

 

import heapq
def solution(operations):
    queue = []
    for operation in operations :
        operator, operand = operation.split()
        operand = int(operand)
        if operator == 'I' : heapq.heappush(queue, operand)
        elif queue :
            if operand > 0 : queue.remove(max(queue))
            else : heapq.heappop(queue)
    if queue : return [max(queue),queue[0]]
    else : return [0, 0]

정확성 테스트

테스트 1 통과 (0.03ms, 10.3MB)
테스트 2 통과 (0.02ms, 10.3MB)
테스트 3 통과 (0.03ms, 10.2MB)
테스트 4 통과 (0.02ms, 10.3MB)
테스트 5 통과 (0.03ms, 10.4MB)
테스트 6 통과 (0.03ms, 10.3MB)

채점 결과

정확성: 100.0

합계: 100.0 / 100.0