[Python] Leetcode 49. Group Anagrams

Coding Test

목록 보기
13/14
post-thumbnail

💠 내 풀이

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"
profile
학습 메모장 : 코테 및 알고리즘, 언어 문법, Java 기본 강의...

0개의 댓글