특정 원소를 갖는 원본 튜플을 구하는 문제이다.
문제풀이 전략
중복되는 원소가 없다는 점을 이용하면 굉장히 쉽다.
원소들이 주어지기 때문에 각 원소들 중 가장 많이 나타나는 순서대로 나열하면 답이 된다.
팁
코드
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
vector<int> solution(string s) {
vector<int> answer;
vector<pair<int,int>> v(100001);
string num = "";
for(int i=0;i<s.size();i++){
if(s[i] < '0' || s[i] > '9'){
if(num == "")
continue;
else{
int n = stoi(num);
num = "";
v[n].first--;
v[n].second = n;
}
}else{
num += s[i];
}
}
sort(v.begin(), v.end());
for(int i=0;i<v.size();i++){
if(v[i].first == 0)
break;
answer.push_back(v[i].second);
}
return answer;
}
출처 : https://programmers.co.kr/learn/courses/30/lessons/64065