[파이썬/python] 프로그래머스 : 이중우선순위큐 (Lv.3)

https://school.programmers.co.kr/learn/courses/30/lessons/42628

 

프로그래머스

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

programmers.co.kr

def solution(operations):
    ans = []
    for i in operations:
        if len(ans) == 0 and i == "D -1" or len(ans) == 0 and i == "D 1":
            continue
        else:
            if i[0] == "I":
                ans.append(int(i[2:]))
                ans.sort()
            elif i == "D -1":
                ans.pop(0)
            else:
                ans.pop()
    if ans == []:
        return [0,0]
    else:
         return [ans[-1],ans[0]]

sort때문에 효율성 통과 못할 것 같았는데 통과는 됐다

통과가 되는 게 맞는 건가..?

 

아마도 import heapq 을 이용해서 풀어야 하는 것 같은데 아직 힙에 대해 잘 몰라서 배워야겠다

comment