컴공댕이 공부일지
[ 우선순위 큐 ] 개념 + 필수 과제 ( 백준 14235 크리스마스 선물 c++) 본문
728x90
✅우선순위 큐
☑️ 우선순위가 높은 데이터가 먼저 나옴
- 큐(Queue) : 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out)
- 우선순위 큐(Priority Queue) : 큐와 달리, 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조이다.
( like. 롯데월드 매직패스 )
큐를 활용한 필수과제 문제 !
[ 백준 14235 크리스마스 선물 ]
#include <iostream>
#include <queue>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int n,a;
priority_queue<int, vector<int>, less<int>> pq;
//큰 것 부터 나오는 less<int>
cin >> n;
while(n--) {
cin >> a;
//아이들 만남
if(a==0) {
if (pq.empty()) { //줄 선물 없으면 -1 출력
cout << "-1\n";
} else{ //가장 가치 큰 선물이 맨 위로 정렬되어 있으니, top, pop!
cout << pq.top() << "\n";
pq.pop();
}
}
//선물 충전
else {
for(int i=0; i<a; i++) {
int gift=0;
cin >> gift;
pq.push(gift);
}
}
}
return 0;
}
728x90
'기록 > 알고리즘 스터디 알튜비튜 5기✨' 카테고리의 다른 글
[ 이분탐색🚩] 개념 + 활용 문제 ( 백준 c++ 1920 수 찾기 / 10816 숫자 카드 2 ) #UpperBound #LowerBound (2) | 2023.11.06 |
---|---|
[ 8주차 DFS & BFS ] 개념 정리 (0) | 2023.10.10 |
[ 우선순위 큐 ] 구현 과제 (백준 2607 비슷한 단어 c++) +멘토 코멘트 (0) | 2023.09.20 |
[ 브루트포스 ] 도전 과제-1 ( 백준 14620 꽃길 c++) (0) | 2023.09.13 |
[ 브루트포스 ] 필수과제 해결하기 ( 백준 1063, 1436, 11723 c++) (0) | 2023.09.12 |
Comments