From 2d981484afb21984ea977d2fd989acfc977b9178 Mon Sep 17 00:00:00 2001 From: jangwonyoon Date: Sat, 23 Aug 2025 23:00:37 +0900 Subject: [PATCH] solved1: groupAnagrams --- group-anagrams/jangwonyoon.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 group-anagrams/jangwonyoon.js diff --git a/group-anagrams/jangwonyoon.js b/group-anagrams/jangwonyoon.js new file mode 100644 index 000000000..b9a9eadd2 --- /dev/null +++ b/group-anagrams/jangwonyoon.js @@ -0,0 +1,22 @@ +/** + * @param {string[]} strs + * @return {string[][]} + * + * 시간 복잡도: O(n * mlogm) + * 공간 복잡도: O(n * m) + * + */ +var groupAnagrams = function(strs) { + // 예외 처리 + if (strs.length === 1) return [[...strs]]; + + const map = new Map(); + + for (const str of strs) { + const sortedStr = str.split('').sort().join(''); + if (!map.has(sortedStr)) map.set(sortedStr, []); + map.get(sortedStr).push(str); + } + + return [...map.values()]; +};