개발 로그/알고리즘
1636. Sort Array by Increasing Frequency.cpp
CyberSoak
2021. 11. 20. 14:34
🔑 " map sort by value "
🚩 sort lambda식 익숙해지기.
class Solution {
public:
vector<int> frequencySort(vector<int>& nums) {
vector<int>res;
map<int,int>m;
for(int i =0; i<nums.size(); i++){
m[nums[i]]++;
}
vector<pair<int,int>>v;
for(auto it : m){
v.push_back(make_pair(it.first,it.second));
// cout<< it.first << " " << it.second <<endl;
}
// cout<< endl;
sort(v.begin(), v.end(), [](pair<int,int>&a, pair<int,int>&b){
return a.second != b.second ? a.second < b.second : a.first > b.first;
});
for(auto it: v){
// cout<< it.first << " ";
for(int i =0; i< nums.size(); i++){
if(nums[i] == it.first) res.push_back(nums[i]);
}
}
return res;
}
};