릿코드(LEETCODE)

1207. Unique Number of Occurrences

cepiloth 2020. 3. 3. 11:39
반응형

https://leetcode.com/problems/unique-number-of-occurrences/

 

각 숫자의 요소의 갯수가 유일한지 판단하는 문제

 

class Solution {
public:
    
    unordered_map<int, int> m;

    bool check(int count) {
        return m.count(count);
    }
    
    bool uniqueOccurrences(vector<int>& arr) {
        sort(arr.begin(), arr.end());

        int prev = arr[0];
        int prev_count = 0;
    
        for (int i = 0; i < arr.size(); i++) {
            int current = arr[i];
            if (prev == current) {
                prev_count++;
            }
            else 
            {

                if (check(prev_count)) {
                    return false;
                }
                
                m[prev_count] = prev;
                prev = current;
                prev_count = 1;
                
                // check last
                if (i + 1 == arr.size()) 
                {
                    if (check(prev_count)) 
                    {
                        return false;
                    }
                }
            }
        }
        return true;
    }
};
반응형