: anagram(순서만 뒤바뀐 같은 문자로 구성된 문자열) 끼리 묶은 배열을 리턴하는 문제
class Solution {
func groupAnagrams(_ strs: [String]) -> [[String]] {
var hashTable = [[Character] : [String]]()
for str in strs {
let key = str.sorted()
if hashTable[key] == nil { hashTable[key] = [str] }
else { hashTable[key]?.append(str) }
}
let result = hashTable.values.map { Array($0) }
return result
}
}
- hash func =
str.sorted()
- hash table =
result
라고 볼 수 있다