🔗 Problem Link
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)