알고리즘/리트코드
49. Group Anagrams
현진이에오
2022. 3. 28. 19:11
결국 알파벳 같은게 있으면 되니까. 가장 효율적인 비교 방법은 정렬이다.
const groupAnagrams = function(strs) {
let obj = {}
for (let str of strs) {
let letters = str.split("").sort().join("")
obj[letters] ? obj[letters].push(str) : obj[letters] = [str]
}
return Object.values(obj)
};
map set 은 이터러블이라 아래 느낌도 가능하다.
const groupAnagrams = function(strs) {
let m = new Map();
for (let str of strs) {
let sorted = str.split("").sort().join("");
if (m.has(sorted)) m.set(sorted, [...m.get(sorted), str]);
else m.set(sorted, [str]);
}
return Array.from(m.values());
};