읽기 전
- 불필요한 코드나 잘못 작성된 내용에 대한 지적은 언제나 환영합니다.
- 개인적으로 배운 점을 정리한 글입니다.
문제 링크
문제 풀이
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 |