이중우선순위큐 [파이썬]

Moveheon·2023년 10월 13일

프로그래머스

목록 보기
12/24
import heapq

def solution(operations):
    answer = []
    heapq.heapify(answer)
    for a in range(len(operations)):
        string = operations[a]
        if string[0] == "I":
            b = operations[a][2:]
            heapq.heappush(answer, int(b))
        elif string == "D 1":
            if len(answer) == 0:
                continue
            else:
                answerr = []
                for i in range(len(answer)):
                    a = heapq.heappop(answer)
                    heapq.heappush(answerr, a * -1)
                heapq.heappop(answerr)
                for i in range(len(answerr)):
                    a = heapq.heappop(answerr)
                    heapq.heappush(answer, a * -1)
        else:
            if len(answer) == 0:
                continue
            else:
                heapq.heappop(answer) 
    if len(answer) == 0:
        return [0, 0]
    
    result = []
    ansrev = []
    heapq.heapify(ansrev)
    for i in range(len(answer)):
        aa = heapq.heappop(answer)
        heapq.heappush(ansrev, aa * -1)
    result.append(heapq.heappop(ansrev) * -1)
    for i in range(len(ansrev)):
        a = heapq.heappop(ansrev)
        heapq.heappush(answer, a * -1)
    result.append(heapq.heappop(answer))
    return result

코드 정리가 필요하다.

0개의 댓글