Search
Duplicate
📗

절댓값 힙

주차
문제번호
언어
C++
티어
실버
유형
자료구조
우선순위 큐
nj_Blog
nj_상태
이해도
100%
풀이
사람
이해도 2
13 more properties

문제접근

우선순위 큐를 사용하고 커스텀 cmp를 통해서 비교연산을 조건에 맞게 진행

놓쳤던 부분

우선순위 큐 사용 아직 미숙

코드

2532 KB

16 ms

#include <iostream> #include <queue> #include <cmath> using namespace std; struct cmp { bool operator() (int a, int b){ if (abs(a) == abs(b)) return a > b; return abs(a) > abs(b); } }; int main(void) { priority_queue<int, vector<int>, cmp> pq; int n; int input; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; for (int i = 0; i < n; i++) { cin >> input; if (input == 0) { if (pq.empty()) cout << "0\n"; else { cout << pq.top() << "\n"; pq.pop(); } } else pq.push(input); } return (0); }
C++
복사