LeetCode - 49. Group Anagrams (python)

홍석희·2024년 2월 27일

https://leetcode.com/problems/group-anagrams/?envType=study-plan-v2&envId=top-interview-150

  • 난이도: medium
  • 알고리즘: Hashmap

접근방법

  • dictionary 자료형을 이용하여 hashmap을 구성한다
  • strs를 순회하면서 현재 string을 구성하는 문자들을 정렬한 sorted_str을 구성하고 sorted_str을 key로 하여 map을 초기화한다
  • map에 있는 value들을 answer에 추가하고 answer을 반환한다

소스코드

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        answer = []
        map = {}

        for string in strs:
            sorted_char = sorted(string)
            sorted_str = ""
            for char in sorted_char:
                sorted_str += char
        
            if map.get(sorted_str) is None:
                map[sorted_str] = [string]
            else:
                map[sorted_str].append(string)

        for value in map.values():
            answer.append(value)

        return answer
profile
개발 기록

0개의 댓글