백준 2075

·Python
이 문제의 핵심은 최소힙을 사용하는 것이었다. 사실 처음엔 배열이나 스택을 활용하려고 했었는데 너무 모르겠어서 구글링 해보니 다들 최소힙으로 푸셨음..ㅎ즉 최소힙의 특성을 기반으로 상위 N개의 큰 숫자만 유지하는 방식을 구현해야 하는 문제였다. 최소힙의 개념부터 복습해보자면,최소 힙은 root node가 항상 가장 작은 값을 가지는 이진 트리이다.파이썬에는 이를 효율적으로 구현할 수 있는 자료구조로 heapq 라이브러리가 이미 존재하는데, 노드 삽입을 위한 heappush와 제거를 위한 heappop 메소드(가장 작은 값인 0번째 원소 제거)가 존재하고 각각 O(log k)의 시간 복잡도를 가진다.동작 방식은 힙에 새로운 숫자를 삽입할 때 내부적으로 힙 구조를 유지하도록 자동으로 정렬이 되는데, 가장 작..
여백 ::
'백준 2075' 태그의 글 목록