힙
[백준 파이썬] # 11279 최대 힙
Silver II # 11279 최대 힙 링크 : https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 풀이 import heapq import sys N = int(sys.stdin.readline()) heap = [] for i in range(N): x = int(sys.stdin.readline()) if x != 0: heapq.heappush(heap, -x) else: if len(heap) == 0: print(0..
[Today I Learn] 2022.03.01
What I did 2022.03.01 - [Algorithm Study/Python] - [백준 파이썬] # 11286 절댓값 힙 2022.03.01 - [Algorithm Study/Python] - [백준 파이썬] # 11549 구간 합 구하기 4 2022.03.01 - [Algorithm Study/Python] - [백준 파이썬] # 1927 최소 힙 TIL heap은 부모의 키 값이 자식의 키 값보다 항상 크거나(작거나) 같은 이진트리를 말한다. 최악의 경우에도 시간복잡도 NlogN을 보장한다. 가장 큰 값(작은 값) 몇 개를 뽑아내야 할 때 유용하게 사용할 수 있다. heapq 모듈 : 사용법, 데이터 추가, 삭제 투 포인터, 구간 합 알고리즘
[백준 파이썬] # 1927 최소 힙
Silver II # 1927 최소 힙 링크 : https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 import heapq import sys heap = [] N = int(sys.stdin.readline()) for i in range(N): num = int(sys.stdin.readline()) if num == 0: if len(heap) == 0: print(0) else: print(heapq.heappop(..