본문 바로가기

Algorithm/Implementation

(Python3) - LeetCode (easy) 1941. Check if All Characters Have Equal Number of Occurrences

반응형

https://leetcode.com/problems/check-if-all-characters-have-equal-number-of-occurrences/description/

dictionary 자료구조를 이용한 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

alphabatFrequency dictionary를 선언해줍니다.

📔 풀이과정

1. s에 대해 for loop를 수행해 다음을 수행합니다.

  1-1. alphabatFrequency의 key에 해당 문자가 없다면 해당 문자를 key로 value를 0으로 초기화해줍니다.

  1-2. 이외의 경우 alphabatFrequency의 해당 key의 value를 1증가시켜줍니다.

2. 지역변수 frequencies를 선언후 alphabatFrequency의 빈도수들만 뽑아 배열에 저장합니다.

3. frequencies의 원소를 순회하며 인접원소가 다르다면 False를 반환합니다.

📔 정답 출력 | 반환

모든 빈도수가 같으므로 true를 반환합니다.


📕 Code

📔 Python

class Solution:
    def areOccurrencesEqual(self, s: str) -> bool:
        alphabatFrequency = {}
        for char in s: 
            if alphabatFrequency.get(char) == None:
                alphabatFrequency[char] = 0
            else:
                alphabatFrequency[char] += 1
        frequencies = [val for val in alphabatFrequency.values()]
        for i in range(0, len(frequencies) - 1):
            if frequencies[i] != frequencies[i+1]: 
                return False;
        return True

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.