λ¬Έμ μ€λͺ
μ΄μ€ μ°μ μμ νλ λ€μ μ°μ°μ ν μ μλ μλ£κ΅¬μ‘°λ₯Ό λ§ν©λλ€.
λͺ λ Ήμ΄μμ ν(λμ΄)I μ«μ | νμ μ£Όμ΄μ§ μ«μλ₯Ό μ½μ ν©λλ€. |
D 1 | νμμ μ΅λκ°μ μμ ν©λλ€. |
D -1 | νμμ μ΅μκ°μ μμ ν©λλ€. |
μ΄μ€ μ°μ μμ νκ° ν μ°μ° operationsκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, λͺ¨λ μ°μ°μ μ²λ¦¬ν ν νκ° λΉμ΄μμΌλ©΄ [0,0] λΉμ΄μμ§ μμΌλ©΄ [μ΅λκ°, μ΅μκ°]μ return νλλ‘ solution ν¨μλ₯Ό ꡬνν΄μ£ΌμΈμ.
μ νμ¬ν- operationsλ κΈΈμ΄κ° 1 μ΄μ 1,000,000 μ΄νμΈ λ¬Έμμ΄ λ°°μ΄μ λλ€.
- operationsμ μμλ νκ° μνν μ°μ°μ λνλ
λλ€.
- μμλ “λͺ λ Ήμ΄ λ°μ΄ν°” νμμΌλ‘ μ£Όμ΄μ§λλ€.- μ΅λκ°/μ΅μκ°μ μμ νλ μ°μ°μμ μ΅λκ°/μ΅μκ°μ΄ λ μ΄μμΈ κ²½μ°, νλλ§ μμ ν©λλ€.
- λΉ νμ λ°μ΄ν°λ₯Ό μμ νλΌλ μ°μ°μ΄ μ£Όμ΄μ§ κ²½μ°, ν΄λΉ μ°μ°μ 무μν©λλ€.
κ½€ μ΄λ ΅λ€!!
μ²μμ 2, 6λ²μ ν΅κ³Όλͺ»ν΄μ ν€λ©¨λλ° κ²°κ΅ κ³ μ³€μ γ γ
νλ μμ νμμ΄ λΆκ°λ₯ν΄μ, μ΅λκ° μμ λ popμΌλ‘ μ²λ¦¬νκ³ μ΅μκ° μμ λ λ€λ₯Έ λ°©λ²μΌλ‘ μ²λ¦¬ν΄μ€μΌ ν©λλ·
μ°μ μμ νλ₯Ό μ¬μ©ν΄μ, D 1 μΌλλ κ·Έλ₯ popν΄μ£Όκ³
D -1 μΌλλ μ¬μ΄μ¦κ° μμλ λμ κ°μ μμ ν΄μ€¬λλ°
μ²μμλ νμ¬ ν μ¬μ΄μ¦(nowSize)λ₯Ό κ³ λ €νμ§ μκ³ "D 1" popμ μ§νν΄μ λͺ¨μμ΄ μκΈ΄ κ² κ°μλ€!!
μ΄κ±Έ κ³ μ³μ£Όλ λ€ λ§μμ΅λλ€ ^-^
λμ νμ΄
#include <string>
#include <vector>
#include <queue>
#include <iostream>
using namespace std;
vector<int> solution(vector<string> operations) {
vector<int> answer;
priority_queue<int> pq;
int minDelete = 0;
int nowSize = 0;
for(int i=0; i<operations.size(); ++i){
if(operations[i]=="D 1"){
if(nowSize>0) {
pq.pop();
nowSize--;
}
}
if(operations[i]=="D -1"){
if(nowSize>0) {
minDelete++;
nowSize--;
}
}
if(operations[i][0]=='I'){
operations[i].replace(0,2,""); // μ«μλ§ λ¨κΉ
int num = stoi(operations[i]);
pq.push(num);
nowSize++;
}
}
if(nowSize==0 || nowSize <= minDelete) {
answer.push_back(0);
answer.push_back(0);
}
else {
int pqtop = pq.top();
while(pq.size()>minDelete+1) {
cout << pq.top()<<" ";
pq.pop();
}
answer.push_back(pqtop);
answer.push_back(pq.top());
}
return answer;
}
'π μκ³ λ¦¬μ¦ > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[MySQL/PGS] Lv.1 : μλμ°¨ λμ¬ κΈ°λ‘μμ μ₯κΈ°/λ¨κΈ° λμ¬ κ΅¬λΆνκΈ° (0) | 2023.09.19 |
---|---|
[C++/PGS] Lv.2 : λ λ§΅κ² (ν Heap) (1) | 2023.09.19 |
[C++/PGS] Lv.2 : μ΄μ§ λ³ν λ°λ³΅νκΈ° (0) | 2023.09.17 |
[MySQL/PGS] Lv.3 : μ¦κ²¨μ°ΎκΈ°κ° κ°μ₯ λ§μ μλΉ μ 보 μΆλ ₯νκΈ° (0) | 2023.09.16 |
[C++/PGS] Lv.0 : λ€νμ λνκΈ° (ꡬν) (0) | 2023.09.16 |