Be Coder
튜플 본문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
#include <string> #include <vector> #include <algorithm> #include <set> using namespace std;
vector<int> solution(string s) { vector<int> answer; vector<int> n; vector<pair<int, vector<int>>> v; set<int> pick; string num ="";
for(int i = 1; i < s.size()-1; i++){ if(s[i] == '{') continue;
if(s[i] == ','){ if(num.size() == 0){} else if(num.size() == 1) n.push_back(atoi(num.c_str())); else n.push_back(atoi(num.c_str())); num = ""; } else if(s[i] == '}'){ if(num.size() == 0){} else if(num.size() == 1) n.push_back(atoi(num.c_str())); else n.push_back(atoi(num.c_str())); num = ""; v.push_back({n.size(), n}); n.clear(); } else num += s[i]; }
sort(v.begin(), v.end());
for(pair<int, vector<int>> p : v){ for(int val : p.second){ if(pick.count(val) == 0){ pick.insert(val); answer.push_back(val); } } }
return answer; } |
cs |
'알고리즘' 카테고리의 다른 글
[프로그래머스] 다트게임 (0) | 2020.05.14 |
---|---|
[프로그래머스] 징검다리 건너기 (0) | 2020.05.05 |
[프로그래머스] 호텔 방 배정 (0) | 2020.05.05 |
불량사용자 (0) | 2020.04.30 |
수학 - 나머지 연산, GCD, LCM, 진법, 소수 (0) | 2020.04.16 |