λ¬Έμ
λ°±μ€μ΄λ λμμκ² "κ°μ΄λ°λ₯Ό λ§ν΄μ" κ²μμ κ°λ₯΄μ³μ£Όκ³ μλ€. λ°±μ€μ΄κ° μ μλ₯Ό νλμ© μΈμΉ λλ§λ€ λμμ μ§κΈκΉμ§ λ°±μ€μ΄κ° λ§ν μ μ€μμ μ€κ°κ°μ λ§ν΄μΌ νλ€. λ§μ½, κ·Έλμ λ°±μ€μ΄κ° μΈμΉ μμ κ°μκ° μ§μκ°λΌλ©΄ μ€κ°μ μλ λ μ μ€μμ μμ μλ₯Ό λ§ν΄μΌ νλ€.
μλ₯Ό λ€μ΄ λ°±μ€μ΄κ° λμμκ² 1, 5, 2, 10, -99, 7, 5λ₯Ό μμλλ‘ μΈμ³€λ€κ³ νλ©΄, λμμ 1, 1, 2, 2, 2, 2, 5λ₯Ό μ°¨λ‘λλ‘ λ§ν΄μΌ νλ€. λ°±μ€μ΄κ° μΈμΉλ μκ° μ£Όμ΄μ‘μ λ, λμμ΄ λ§ν΄μΌ νλ μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯ 1
7
1
5
2
10
-99
7
5
μΆλ ₯ 1
1
1
2
2
2
2
5
μ½λ
#include<iostream>
#include<queue>
#include<vector>
using namespace std;
//1655λ² κ°μ΄λ°λ₯Ό λ§ν΄μ
//μ΅μν, μ΅λν μ¬μ©
int main() {
cin.tie(NULL);
cout.tie(NULL);
int N,temp;
priority_queue<int> max; //μ΅λν μ°μ μμ νλ defaultλ‘ less<in>λ₯Ό μ¬μ©
priority_queue<int,vector<int>,greater<int>> min; //μ΅μν
cin >> N;
for (int i = 0; i < N; i++) {
cin >> temp;
(max.size() == min.size()) ? max.push(temp) : min.push(temp);
if (!max.empty() && !min.empty()&& max.top() > min.top()) {
//μ€κ° κ°μ μμκ° λ¬λΌμ§λ€λ©΄ κ° λ°κΎΈκΈ°
int maxVal, minVal;
maxVal = max.top();
minVal = min.top();
max.pop();
min.pop();
max.push(minVal);
min.push(maxVal);
}
cout << max.top()<<"\n";
}
return 0;
}
*κ°λ¨ν ν΄μ€*
μ¬λ¬κ°μ§ μκ³ λ¦¬μ¦ μ€μμ 무μμ μ μ°λμ§κ° ν΅μ¬μΈλ° μ¬κΈ°μλ μ΅μν, μ΅λνμ μ¬μ©νλ€.
κ·Έ μ΄μ λ νμ μ¬λ¬κ°μ κ° μ€ μ΅λκ° λλ μ΅μκ°μ μ°Ύμλ΄λ μ°μ°μ΄ λΉ λ₯΄κΈ° λλ¬Έμ μ¬κΈ°μ μ¬μ©νλ©΄ λΉ λ₯Έ μ°μ°μ΄ κ°λ₯νλ€.
νμ μΌλ°μ μΌλ‘ μμ μ΄μ§νΈλ¦¬μ΄λ―λ‘ λ°°μ΄μ μ΄μ©νμ¬ κ΅¬ννλ€.
μ΅λ νμ λ£¨νΈ λ Έλλ‘ μ¬λΌκ°μλ‘ μ μ₯λ κ°μ΄ 컀μ§λ ꡬ쑰μ΄λ€.
μ΅μ νμ λ£¨νΈ λ Έλλ‘ μ¬λΌκ°μλ‘ κ°μ΄ μμμ§λ ꡬ쑰μ΄λ€.
μ΄ λ¬Έμ μ κ²½μ° λ°°μ΄μ λ°νμΌλ‘ λλμ΄μ νμͺ½μ μ΅μ ν, νμͺ½μ μ΅λ νμ μ¬μ©νμ¬ λΉ λ₯΄κ² μ°μ°νλ λ¬Έμ μ΄λ€. μ΄ κ²½μ° priority_queueλ₯Ό μ΄μ©νμ¬ κ΅¬νν μ μλ€. priority_queueλ νμ μ΄μ©νμ¬ κ΅¬νλμ΄ μκ³ μ΅μ μ μ΄μ©νμ¬ greater<int> λ° less<int>λ₯Ό μ΄μ©νμ¬ μμκ°μ μ΅μν, μ΅λν ꡬ쑰λ₯Ό λ§λ€ μ μλ€. λ°λΌμ μ΄λ₯Ό ν΅ν΄μ μ€κ°κ°μ μ°Ύλ κ²μ΄λΌ λ°νμ λλμ΄μ μ€λ¦μ°¨μ, λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬λλ μ΅μν, μ΅λνμ μ΄μ©νλ©΄ λΉ λ₯΄κ² ν΅κ³Όνλ μ½λλ₯Ό λ§λ€ μ μλ€.
*μ΄ λ°©λ²λ§μ΄ λ§λ μ λ΅μ μλλλ€.
ν¨μ¬ μ’κ³ λΉ λ₯Έ λ€λ₯Έ μκ³ λ¦¬μ¦μ ꡬνν μ μμ΅λλ€.
μκ³ λ¦¬μ¦ κ³΅λΆνμλ λΆλ€ νμ΄ν ! '0'/*
'μκ³ λ¦¬μ¦ > BaekJoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C++] BOJ 2244λ²: λ―Όμ½μ°μ€ν€ ν© (0) | 2022.06.13 |
---|---|
[C++] BOJ 2933λ²: λ―Έλ€λ (0) | 2022.06.13 |
[C++] BOJ 3190λ²: λ± (0) | 2022.03.25 |
[C++] BOJ 2480λ²: μ£Όμ¬μ μΈκ° (0) | 2022.03.19 |
[C++] BOJ 1260λ²: DFSμ BFS (2) | 2022.03.11 |