백준 11279번 최대 힙
< 백준 11279번 최대 힙 - 마포 코딩박 >
사용한 알고리즘: priority_queue
pq 구현 문제였습니다. 0이 들어오면 최대값 출력, 자연수가 들어오면 pq에 추가 합니다.
문제풀이는 다음과 같습니다.
(1) (코드 5)
큰 값이 위로 오도록 pq 를 만들어 줍니다.
(2) (코드 9~21)
자연수가 들어오면 pq 에 넣어줍니다.
0이 입력되면 pq 맨 처음 값을 출력한뒤 pop 해줍니다.
( pq가 비어있으면 0 출력 )
사용한 알고리즘: priority_queue
pq 구현 문제였습니다. 0이 들어오면 최대값 출력, 자연수가 들어오면 pq에 추가 합니다.
문제풀이는 다음과 같습니다.
(1) (코드 5)
큰 값이 위로 오도록 pq 를 만들어 줍니다.
(2) (코드 9~21)
자연수가 들어오면 pq 에 넣어줍니다.
0이 입력되면 pq 맨 처음 값을 출력한뒤 pop 해줍니다.
( pq가 비어있으면 0 출력 )
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <queue> | |
using namespace std; | |
priority_queue<int> heap1; | |
int N; | |
int main(){ios_base::sync_with_stdio(false); cout.tie(NULL); cin.tie(NULL); | |
cin >> N; | |
for (int i = 0; i < N; ++i){ | |
int a = 0; | |
cin >> a; | |
if(!a && heap1.empty()) | |
cout << 0 << '\n'; | |
else if(!a){ | |
cout << heap1.top() << '\n'; | |
heap1.pop(); | |
} | |
else | |
heap1.push(a); | |
} | |
return 0; | |
} |
댓글
댓글 쓰기
긴 글 읽어주셔서 감사합니다.
궁금한게 있으시다면 댓글 달아주세요!