#include <string>
#include <vector>
#include <queue>
using namespace std;
vector<int> solution(vector<string> operations) {
vector<int> answer;
priority_queue<int,vector<int>,greater<int>> upup;
priority_queue<int,vector<int>,less<int>> dodo;
queue<int> mid;
string temp;
int k=0,d=0;
for(int i=0;i<operations.size();i++){
if(k==d){
upup={};
dodo={};
}
if(operations[i][0]=='I'){
temp=operations[i].substr(2);
upup.push(stoi(temp));
dodo.push(stoi(temp));
mid.push(stoi(temp));
k++;
}
else if(operations[i]=="D 1"){
if(mid.empty()==1){continue;}
dodo.pop();
mid.pop();
d++;
}
else {
if(mid.empty()==1){continue;}
upup.pop();
mid.pop();
d++;
}
}
if(k==d){answer.push_back(0);
answer.push_back(0);
}
else{
answer.push_back(dodo.top());
answer.push_back(upup.top());
}
return answer;
}
정확성 테스트
테스트 1 〉 통과 (0.02ms, 3.96MB)
테스트 2 〉 통과 (0.02ms, 3.95MB)
테스트 3 〉 통과 (0.02ms, 3.84MB)
테스트 4 〉 통과 (0.01ms, 3.93MB)
테스트 5 〉 통과 (0.02ms, 3.9MB)
테스트 6 〉 통과 (0.02ms, 3.94MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0