๋ฐฑ์ค 11286: ์ ๋๊ฐ ํ
https://www.acmicpc.net/problem/11286
-> N์ ์ ๋ ฅ๋ฐ๋๋ค.
-> N๊ฐ๋งํผ ์ ๋ ฅ๋ฐ๋๋ค.
-> 0์ด ์๋ ์ ์๋ฅผ ์ ๋ ฅํ์ ๊ฒฝ์ฐ์๋ ๋ฐ๋ก ์ถ๋ ฅ์์ด ๊ทธ๋ฅ ๋ฐฐ์ด์ ๊ฐ์ ๋ฃ์ด์ค๋ค.
-> 0์ ์ ๋ ฅํ๋ค๋ฉด ๋ฐฐ์ด์์ ์ ๋๊ฐ์ด ๊ฐ์ฅ ์์ ์๋ฅผ ์ถ๋ ฅํด์ฃผ๊ณ ,๊ทธ ๊ฐ์ ์ ๊ฑฐํด์ค๋ค.
// ๋จ, ์์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ์๋ ๊ฐ์ฅ ์์ ์๋ฅผ ์ ๊ฑฐํด์ค๋ค. (์ฆ, ์์๋ฅผ ์ ๊ฑฐํ๋ผ๋ ๋ป)
// ๋จ, ๋ฐฐ์ด์ ๊ฐ์ด ์์ ๊ฒฝ์ฐ๋ 0์ ์ถ๋ ฅํด์ค๋ค
11279๋ฒ์ ์์ฐ์๋ก ๋ด๋ฆผ์ฐจ์์ ๋ฐฉ์์ด์๋ค๋ฉด,
์ด๋ฒ ๋ฌธ์ ๋ ์ ์๋ก ์ค๋ฆ์ฐจ์์ ๋ฐฉ์์ด๋ฉฐ, ์ ๋๊ฐ์ผ๋ก ์ฒ๋ฆฌํด์ฃผ์ด์ผ ํ๋ค.
์ฆ ์๋กญ๊ฒ ๋น๊ต์ฐ์ฐ์๋ฅผ ๊ตฌ์กฐ์ฒด๋ฅผ ํตํด ์์ฑํด์ผ ํ๋ค.
์ค๋ฆ์ฐจ์ ์ฐธ๊ณ ์ฌ์ดํธ: https://travelbeeee.tistory.com/126
์ ๋๊ฐ absํจ์ ์ฐธ๊ณ ์ฌ์ดํธ: https://blockdmask.tistory.com/335
#include <iostream>
#include <cstdlib>
#include <queue>
using namespace std;
struct cmp {
bool operator()(int a, int b) {
if (abs(a) > abs(b)) {
return true;
}
else if (abs(a) == abs(b)) {
if (a > b) {
return true;
}
else {
return false;
}
}
return false;
}
};
int main() {
int N;
priority_queue <int,vector<int>,cmp> pq;
cin.tie(NULL);
ios_base::sync_with_stdio(false);
cin >> N;
for (int i = 0; i < N; i++) {
int x;
cin >> x;
if (x == 0) {
if (pq.empty()) {
cout << 0 << "\n";
}
else {
cout << pq.top() << "\n";
pq.pop();
}
}
else {
pq.push(x);
}
}
return 0;
}
-> ์ฐ์ ์์ ํ์ ๋ค์ด๊ฐ ์ฐ์ฐ์๋ฅผ ์ ๋๊ฐ ๊ธฐ์ค ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์๊ณ , ์ ๋๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ ๋ ์์ ์์ ์ฐ์ ์์๋ฅผ ์ฃผ์๋ค.
์ฐ์ฐ์ ๋ถ๋ถ์ด ์กฐ๊ธ ํท๊ฐ๋ ค์ ๊ตฌ๊ธ๋ง์ ํตํด์ ํด๊ฒฐํ๋๋ฐ
์์ผ ์ธ์์๋ ๋์์ด๋ค์ด ๋ง๋ค.............. ๋ถ๋ฝ๋ค