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

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

두_두 2023. 4. 18. 15:17

🌏 문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

👽 풀이

heapq에서 pop()을 해주면 최댓값이 나오고 heappop()을 하면 최솟값이 나온다

import heapq
def solution(operations):
    heap = []
    for operation in operations:
        op, num = operation.split()
        if op == 'I':
            heapq.heappush(heap, int(num))
        else:
            if heap:
                if int(num) > 0:
                    heap.pop()
                else:
                    heapq.heappop(heap)
    
    return [0,0] if len(heap) == 0 else [max(heap), min(heap)]
728x90