[Leet Code] 49. Group Anagrams

Seo Seung Woo·2022년 7월 11일
0
post-thumbnail

49. Group Anagrams


❔Thinking

  • 각 단어를 정렬하여 애너그램을 공통의 단어로 만든다.
  • 공통의 애너그램이 같은 단어끼리 묶어 원래 단어를 담은 리스트를 생성한다.

💻Solution

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        group_anagram_dict = collections.defaultdict(list)
        for word in strs:
            group_anagram_dict[''.join(sorted(word))].append(word)
        return group_anagram_dict.values()

🗝️keypoint

  • str 자료형은 .sort()가 없다.
  • defaultdict()를 활용하여 아래의 코드를 간략히 나타낼 수 있다.
    for word in strs:
        if word not in group_anagram_dict:
            group_anagram_dict[''.join(sorted(word))] = [word]
        else:
            group_anagram_dict[''.join(sorted(word))].append(word)
profile
Code for people

0개의 댓글