
class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
from collections import defaultdict
res = defaultdict(list)
for str in strs:
sorted_str = "".join(sorted(str))
res[sorted_str].append(str)
return list(res.values())
defaultdict()는 인자로 주어진 객체의 기본값을 딕셔너리의 초기값으로 지정할 수 있다.
문자열.sort()라는 문법은 없다. 스트링 타입에 sort()라는 메서드가 없다. 이유는 string의 경우 첫 글자의 주소값으로 참조를 하기에 원본이 변경되면 안되기 때문이다.
대신 sorted(s)를 써야 한다. return type은 list이다.
s = "tan"
sorted_s = sorted(s) # ['a', 'n', 't']
s2 = ''.join(sorted_s) # "ant"