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

준규·2022년 9월 4일
0

문자열 s 가 주어질 때 s의 철자의 중복 횟수가 같으면 true 아니면 false를 리턴하는 문제이다

Example을 보면

1번 예시를 보면 a 2번 b 2번 c 2번이므로 true가 리턴되야한다

const areOccurrencesEqual = function(s) {
    let dic = {};
    let result = [];
    for(char of s) {
        dic[char] = (dic[char] || 0) + 1;
    };
    
    for(const key in dic) {
        result.push(dic[key]);
    }
    
    return [...new Set(result)].length === 1 ? true : false
};

먼저 문자열을 돌면서 철자의 갯수를 세서 객체에 저장을 해주고

객체의 value 값을 result 배열에 넣어주었다

만약 철자들의 중복 횟수가 같다면 result 배열을 중복 제거를 했을 때 길이가 1일것이므로 만약 중복을 제거한 result 배열의 길이가 1이면 true, 아니라면 false를 리턴했다

submit을 해보니

정답이었다!

profile
안녕하세요 :)

0개의 댓글