- 문제 링크: https://leetcode.com/problems/valid-anagram

- 난이도: Easy

 

주어진 두 문자열이 애너그램(anagram) 관계인지 체크하는 문제다

 

두가지 방법이 있다

(1) 정렬 후 비교한다: O(n log n)

(2) 해시테이블 만들고 글자별 수를 센다: O(n)

 

참고로 defaultdict를 사용하면 편리하다.

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        count = defaultdict(int)
        
        for x in s:
            count[x] += 1
        
        for x in t:
            count[x] -= 1
        
        for val in count.values():
            if val != 0:
                return False
        
        return True
반응형