<--- 리트코드 49. Group Anagrams --->

# 에너그램 이란

일종의 언어유희로 문자를 재배열하여 다른 뜻을 가진 단어로 바꾸는 것을 말한다.

 

 

# 문제: 문자열 배열을 받아 애너그램 단위로 그룹핑하라.

 

입력

["eat", "tea", "tan", "ate", "nat", "bat"]

 

출력

[
  ["ate","eat","tea"],
  ["nat","tan"],
  ["bat"]
]

 

 

# 풀이

1. 정렬하여 딕셔너리에 추가

1
2
3
4
5
6
7
8
9
10
11
import collections
 
def group_anagrams(strs):
  anagrams = collections.defaultdict(list)
 
  for word in strs:
    anagrams[''.join(sorted(word))].append(word)
  return anagrams.values()
 
strs =["eat""tea""ate""nat""bat"]
print(group_anagrams(strs))
cs