728x90
<문제 링크>
https://programmers.co.kr/learn/courses/30/lessons/42628
<문제 풀이>
- 최대 1,000,000개의 최솟값, 최댓값을 넣고 빼야 하므로 heapq 사용
- 문제에서 주어진 조건대로 알고리즘 구성
<코드>
import heapq
def solution(operations):
answer = []
for i in operations:
if i[0]=="I":
heapq.heappush(answer,int(i[2:]))
else:
if answer!=[]:
if i[2:]=="-1":
heapq.heappop(answer)
else:
answer.pop()
if answer==[]:
return [0,0]
else:
return [max(answer),min(answer)]
<고쳐야 할 점>
- 연결 리스트 또는 트리구조로 알고리즘 짤 수 있는 방법은?
'두두의 알고리즘 > 문제' 카테고리의 다른 글
[기타] 백준 1254번 '팰린드롬 만들기' (Python) (0) | 2021.12.15 |
---|---|
[연결리스트/트리구조] 프로그래머스 L2 '더 맵게' (Python) (0) | 2021.12.15 |
[동적계획법] 난이도1.5, Google 인터뷰 '못생긴 수' (Python) (0) | 2021.12.15 |
[동적계획법] 난이도1.5, Flipkart 인터뷰 '금광' (Python) (0) | 2021.12.13 |
[큐] 프로그래머스 L2 '프린터' (Python) (0) | 2021.11.29 |