Python/알고리즘

[파이썬 알고리즘 인터뷰] 5. 그룹 애너그램

AI 꿈나무 2021. 2. 9. 15:07
반응형

 

 이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다.

 

 출처 : 파이썬 알고리즘 인터뷰

 


5. 그룹 애너그램

리트코드 49번 문제입니다.

leetcode.com/problems/group-anagrams/

 

 

풀이

 dictionary의 키에 정렬된 strs 입력하고 값을 정렬되지 않은 strs 입력한다는게 신선했습니다.

 sorted 함수는 list 값을 반환하므로 딕셔너리의 key로 지정할 수 없습니다.

 따라서 join 함수로 리스트를 제거하여 key로 입력합니다.

 

def groupAnagrams(self, strs):
    anagrams = collections.defaultdict(list)

    for word in strs:
        # list 벗기기 위해 .join 이용
        anagrams[''.join(sorted(word))].append(word)

    return anagrams.values()
반응형