map의 원소들은 key 값을 기준으로 오름차순 정렬되어있다. 따라서 내림차순으로 정렬하고 싶다면 int 형 기준으로 map<int, int, greater> 를 사용해주면 된다.
이때는 map의 요소들을 vector로 옮겨서 정렬해야한다.
1) map->vector
2) sort vector
map<char, int> m;
vector<pair<char, int>> v(m.begin(), m.end());
sort(v.begin(), v.end(), comp);
만약 value의 오름차순 정렬해야 하기 때문에 comp 함수를 작성하면 된다. (내림차순으로 정렬시에도 마찬가지)
static bool comp(pair<char, int>& a, pair<char, int>& b){
return a.second < b.second;
}
leetcode에서 문제를 풀다가 위 방법을 사용했다.