honey_pot

[Python] 이중우선순위큐 본문

문제 풀이

[Python] 이중우선순위큐

_tera_ 2022. 9. 22. 19:02

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


리트코드에서 원형 큐, 이런저런 큐 구현하는 문제랑 비슷한 느낌이다

대신 리트코드에서는 큐도 stack으로 구현해보세요 이런 식이라 결이 좀 다른듯 

deque 정렬, popleft, pop 메서드를 쓰면 문제 자체는 어렵지 않았다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from collections import deque
 
def solution(operations):
    answer = []
    q = deque()
    for operation in operations:
        o, p = operation.split(" ")
        if o == "I":
            q.append(int(p))
            q = deque(sorted(q))
        elif o == "D" and int(p) < 0 and q:
            q.popleft()
        elif o == "D" and int(p) > 0 and q:
            q.pop()
    return [max(q),min(q)] if q else [0,0]
cs

'문제 풀이' 카테고리의 다른 글

[python] 야근 지수  (0) 2022.09.22
[python] 최고의 집합  (0) 2022.09.22
[Python] 정수 삼각형  (0) 2022.09.22
[Python] N-Queen  (0) 2022.09.22
[Python] 하노이의 탑  (0) 2022.09.22
Comments