문제

풀이

class Solution {
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        unordered_map<int, int> m;
        for(auto n : nums) 
        {
            ++m[n];
        }

        vector<pair<int, int>> v(m.begin(), m.end());
        sort(v.begin(), v.end(), [](const auto& a, const auto& b)
        {
            return a.second > b.second;
        });

        vector<int> ans;
        ans.reserve(k);
        for (int i = 0; i < k; ++i)
        {
            ans.push_back(v[i].first);
        }
        return ans;
    }
};

각 요소에 대해 개수를 세어서 해시맵에 넣고, pair들을 모아서 정렬시켰다.

이 포스트는 달레 스터디(1주차)에서 진행한 Blind 75 문제집 풀이의 일부입니다.

댓글남기기