Skip to content

Commit 38fb272

Browse files
committed
[7th batch] week 5 - group anagrams
1 parent 7426ef7 commit 38fb272

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

group-anagrams/liza0525.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# 7기 풀이
2+
# 시간 복잡도: O(n)
3+
# - 입력 받은 strs 리스트의 길이 만큼 순회하므로
4+
# 공간 복잡도: O(1)
5+
# - 결과로 반환할 result를 제외하고는 변수만 사용
6+
from collections import defaultdict
7+
8+
9+
class Solution:
10+
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
11+
result = defaultdict(list)
12+
13+
for str_ in strs:
14+
# 아나그램의 key를 동일하게 만든다. 갖고 있는 문자열의 오름차순 결과를 key로 만듦
15+
anagram_key = "".join(sorted(list(str_)))
16+
# 같은 key를 가진 것끼리 리스트로 묶어둔다.
17+
result[anagram_key].append(str_)
18+
19+
return list(result.values())

0 commit comments

Comments
 (0)