[알고리즘] 그룹 애너그램

June·2021년 1월 16일
0

알고리즘

목록 보기
15/260

그룹 애너그램

내 풀이

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

각 단어들을 정렬하여 같으면 애너그램 관계에 있는 것이다. 따라서 정렬한 단어를 키로하고, 원래 단어를 value에 추가하는 방식이다. TypeError: unhashable type: 'list' 가 떴었는데, 딕셔너리의 key는 변경되지 않는 값이 들어가야 한다. 즉 list가 들어가서는 안된다. 처음에는 dict[sorted(word)]라고 했는데 sorted(word)의 결과가 list이므로 에러가 났다. str으로 바꿔줘야한다.

0개의 댓글