Python
파이썬 알고리즘 인터뷰 - 05. 그룹 에너그램
s코딩초보s
2022. 1. 10. 22:37
<--- 리트코드 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 |