반응형
이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다.
출처 : 파이썬 알고리즘 인터뷰
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()
반응형
'Python > 알고리즘' 카테고리의 다른 글
[자료구조] 배열 - 동적 배열, 정적 배열 (0) | 2021.02.10 |
---|---|
[파이썬 알고리즘 인터뷰] 6. 가장 긴 팰린드롬 부분 문자열 (0) | 2021.02.10 |
[파이썬 알고리즘 인터뷰] 4. 가장 흔한 단어 (0) | 2021.02.09 |
[파이썬 알고리즘 인터뷰] 3. 로그 파일 재정렬 (0) | 2021.02.09 |
[파이썬 알고리즘 인터뷰] 2. 문자열 뒤집기 (0) | 2021.02.09 |