728x90
Baekjoon 1927. 최소 힙
[파이썬(python) 풀이]
널리 잘 알려진 자료구조 중 최소 힙이 있다. 최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오.
- 배열에 자연수 x를 넣는다.
- 배열에서 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다.
프로그램은 처음에 비어있는 배열에서 시작하게 된다.
입력
첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개의 자연수 A, B가 공백을 기준으로 구분되어 주어진다. 이는 A번 도시에서 B번 도시로 이동하는 단방향 도로가 존재한다는 의미다. (1 ≤ A, B ≤ N) 단, A와 B는 서로 다른 자연수이다.
출력
입력에서 0이 주어진 횟수만큼 답을 출력한다. 만약 배열이 비어 있는 경우인데 가장 작은 값을 출력하라고 한 경우에는 0을 출력하면 된다
입력 예시
9
0
12345678
1
2
0
0
0
0
32
출력 예시
0
1
2
12345678
0
❧ 정답
👉 힙(heap) : 우선 순위 큐 자료구조
👉 힙은 항상 오름차순으로 정렬된 상태를 유지한다.
최대 힙 구현 이전 포스팅
728x90
'📊 Algorithm > Algorithm PS' 카테고리의 다른 글
[알고리즘 일기 - 파이썬] 175. 부분합 (0) | 2022.02.11 |
---|---|
[알고리즘 일기 - 파이썬] 174. 나는야 포켓몬 마스터 이다솜 (0) | 2022.02.11 |
[알고리즘 일기 - 파이썬] 172. 최대 힙 (0) | 2022.02.02 |
[알고리즘 일기 - 파이썬] 171. 토마토 (0) | 2022.02.01 |
[알고리즘 일기 - 파이썬] 170. 단지번호붙이기 (0) | 2022.02.01 |