개발/algorithm
[프로그래머스][level3] 이중우선순위큐 -python
zzi_on2
2022. 1. 3. 16:40
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/42628
코딩테스트 연습 - 이중우선순위큐
programmers.co.kr
풀이
- deque 사용해서 품. 다른 사람들 풀이를 보니 heap을 사용하신 분들이 많았다. 나는 뭔가 deque가 익숙해서 그렇게 품 ..
-
from collections import deque def solution(operations): answer = [] que = deque() for i in operations: # 첫 글자 I 이면 if i[0] == 'I': # 숫자 추가 que.append(int(i[2:])) # 큐가 비어있지 않고 elif que: # 최댓값 삭제 if i[0] == 'D' and int(i[2:]) == 1: que.remove(max(que)) # 최솟값 삭제 else: que.remove(min(que)) if que: # 최댓값, 최솟값 반환 answer = [max(que),min(que)] else: # 큐가 비어있으므로 answer = [0,0] return answer