읽기 전

  • 불필요한 코드나 잘못 작성된 내용에 대한 지적은 언제나 환영합니다.
  • 개인적으로 배운 점을 정리한 글입니다.

문제 링크

LeetCode #49 Group Anagrams

문제 풀이

anagram을 그룹핑하라는 요구사항이므로 각 단어들에 대해 알파벳을 기준으로 정렬하면 어느 그룹에 속해야 하는지 나온다. 각각의 문자열에 대해 정렬한 값을 'key'로 두고 각 키값에 할당될 그룹을 'value'로 갖는 dict 객체를 생성한 뒤 value list를 return하면 된다.

python 코드

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        check = collections.defaultdict(list) # 기본값이 []인 dict 생성
        for item in strs: # 각 item들에 대해
            check[''.join(sorted(item))].append(item) # 알파벳 기준 정렬 - 키
        return check.values() # iterable한 value list return

'Algorithms > LeetCode' 카테고리의 다른 글

LeetCode #15 3Sum  (0) 2021.05.07
LeetCode #937 Reorder Data in Log Files  (0) 2021.04.24
LeetCode #819 Most Common Word  (0) 2021.04.24
LeetCode #344 Reverse String  (0) 2021.04.24
LeetCode #125 Valid Palindrome  (0) 2021.04.24

+ Recent posts