문제

문자열 배열을 입력 받아 애너 그램 단위로 묶어라!
(애너그램 -> 문자열을 정렬 했을 때 같은 문자가 되는 것)

예시

input

strs = ["eat","tea","tan","ate","nat","bat"]

output

strs = ["eat","tea","tan","ate","nat","bat"]

풀이

book 풀이1

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        ret = collections.defaultdict(list)
        
        for word in strs:
            ret[''.join(sorted(word))].append(word)
        return ret.values()

defalutdict

  • 키값이 없을때 에러를 방지하기 위해서 사용

''.join(sorted(word)]

  • sorted는 새로운 리스트 리턴
  • 정렬된 문자열을 key로 사용해서 리스트에 넣음.
profile
기록과 정리

0개의 댓글