Group Anagrams

김_리트리버·2021년 3월 22일
0

[알고리즘]

목록 보기
26/47

input list 로 부터 같은 문자로만 구성된 단어들을 묶어서 리턴

aet eat tae 모두 aet 를 가지고 있다.

세 단어 모두 만약 오름차순이나 내림차순으로 정렬한다면 같은 단어가 된다.

즉 정렬해서 같은 단어이면 묶는다.

정렬해서 같은 단어이면 list 에 넣는다.

values() 로 list 를 리턴한다.

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        
        anagrams = defaultdict(list)
        for word in strs:
           
            anagrams[''.join(sorted(word))].append(word)
       # append => javascript push      
	     # anagrams = {'aet': ['eat', 'tea', 'ate'], 'ant': ['tan', 'nat'], 'abt': ['bat']}
        return anagrams.values()
profile
web-developer

0개의 댓글