Group Anagrams - LeetCode
Can you solve this real interview question? Group Anagrams - Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase
leetcode.com
문제
strs배열 안에 있는 문자열들을 같은 애너그램 끼리 묶어 반환하는 문제입니다. 애너그램은 글자의 순서만 다를뿐 같은 문자인 경우를 애너그램이라고 합니다.
풀이
1. strs를 돌면서 해당 요소를 정렬한 값이 check 라는 배열에 존재하는 지 판단합니다.
2. 해당 문자열이 check라는 배열에 없다면 문자열을 정렬하여 check에 추가합니다.
3. result에는 문자열 그대로 추가합니다.
4. 만약 check라는 배열에 해당 문자열을 정렬한 값이 있다면 그 인덱스를 찾습니다.
5. check와 result가 추가되는 index값이 같기때문에, result 배열에 해당 인덱스에 위치하는 배열을 찾아 현재 문자열을 추가합니다.
class Solution:
def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
check = []
result = []
for element in strs:
if sorted(element) in check:
result[check.index(sorted(element))].append(element)
else:
check.append(sorted(element))
tmp = []
tmp.append(element)
result.append(tmp)
return result
'자료구조,알고리즘' 카테고리의 다른 글
LeetCode-128 Longest Consecutive Sequence 파이썬 풀이 (0) | 2023.09.01 |
---|---|
LeetCode-290 Word Pattern 파이썬 풀이 (0) | 2023.09.01 |
LeetCode-202 Happy Number 파이썬 풀이 (0) | 2023.09.01 |
LeetCode-150 Evaluate Reverse Polish Notation 파이썬 문제 풀이 (0) | 2023.09.01 |
LeetCode-205 Isomorphic Strings 파이썬 풀이 (0) | 2023.09.01 |