Software Engineering/Algorithm

[LeetCode] #1941 Check if All Characters Have Equal Number of Occurrences

devhrkim 2024. 6. 23. 13:17

풀이

class Solution {
    public boolean areOccurrencesEqual(String s) {
        HashMap<Character, Integer> hashMap = new HashMap<>();
        for(Character c: s.toCharArray()) {
            hashMap.put(c, hashMap.getOrDefault(c, 0)+1);
        }
        int k = hashMap.get(s.charAt(0));
        for(Integer value: hashMap.values()) {
            if(k != value)
                return false;
        }
        return true;
    }
}

 

다른 사람 풀이

class Solution {
    public boolean areOccurrencesEqual(String s) {
        Map<Character, Integer> counts = new HashMap<>();
        for (char c: s.toCharArray()) {
            counts.put(c, counts.getOrDefault(c, 0) + 1);
        }
        
        Set<Integer> frequencies = new HashSet<>(counts.values());
        return frequencies.size() == 1;
    }
}

 

set의 size를 사용할 수도 있다!

댓글수0