Search

Group Anagrams

문제 설명 : 문자열로 구성된 리스트에서 철자만 바꾸어 동일한 알파벳으로 구성된 문자열끼리 묶어 반환
풀이 방법
위치만 바꾼거라면, 동일한 알파벳을 사용할 것이다.
원래는 set() 자체를 key로 사용하려했지만, 불변 값이 아니기 때문에 사용이 어려웠다.
그래서, 문자열 자체를 정렬한 값을 key로 사용하였다.
시간복잡도 : O(NLlogN)O(N * LlogN)여기서 L은 각 문자열의 길이이다.
성공 코드
from collections import defaultdict class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: info = defaultdict(list) for item in strs: info[''.join(sorted(item))].append(item) return info.values()
Python
복사