문자열 배열을 받아 애너그램 단위로 그룹핑하라.
import collections
def groupAnagrams(strs):
dic = collections.defaultdict(list)
for s in strs:
dic[''.join(sorted(s))].append(s)
return list(dic.values())
ex = ['eat', 'tea', 'tan', 'ate', 'nat', 'bat']
groupAnagrams(ex)
[['eat', 'tea', 'ate'], ['tan', 'nat'], ['bat']]
Accepted 92 ms 17.2 MB python3
파이썬에서는 기본 정렬로 팀소트를 사용한다
최선일때 오메가(n) 으로 퀵이나 병합보다 좋다