๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Programmers)

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ํ( Level 3)

by ์•ˆ์ฃผํ˜• 2021. 10. 22.

๋ฌธ์ œ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ด์ค‘์šฐ์„ ์ˆœ์œ„ํ

 

programmers.co.kr

 

์ฝ”๋“œ

#include <string>
#include <vector>
#include <algorithm>
#include <set>

using namespace std;

vector<int> solution(vector<string> operations) {
    vector<int>answer;
    multiset<int>set;


    for(int i=0; i<operations.size(); i++){

        string operation = operations[i].substr(0,1);
        int num = stoi(operations[i].substr(2));

        if(operation=="I") set.insert(num);

        else if(operation=="D"){
            if(set.empty()) continue;
            if(num==1) set.erase(--set.end());
            if(num==-1) set.erase(set.begin());
        }
    }
    if(!set.empty()){
    answer.push_back(*(--set.end()));
    answer.push_back(*(set.begin()));
    }
    else{
        answer.push_back(0);
        answer.push_back(0);
    }
    return answer;


}

๋Œ“๊ธ€