Skip to content

Commit a7fec99

Browse files
committed
feat: group anagrams
1 parent f5afe89 commit a7fec99

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

โ€Žgroup-anagrams/anniemon.jsโ€Ž

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/**
2+
* ์‹œ๊ฐ„ ๋ณต์žก๋„:
3+
* ์ •๋ ฌ ์ž‘์—…์€ ๊ฐ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ m์ผ ๋•Œ O(m logm)์ด๊ณ , ์ด strs์˜ ๊ธธ์ด๋งŒํผ ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ
4+
* ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n * mlogm)
5+
* ๊ณต๊ฐ„ ๋ณต์žก๋„:
6+
* Map ํ‚ค๋Š” ์ตœ๋Œ€ ๊ธธ์ด m์ธ ๋ฌธ์ž์—ด strs.length๊ฐœ์ด๋‹ค.
7+
* ๋”ฐ๋ผ์„œ ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” O(n * m)
8+
*/
9+
/**
10+
* @param {string[]} strs
11+
* @return {string[][]}
12+
*/
13+
var groupAnagrams = function(strs) {
14+
const map = new Map();
15+
for(const s of strs) {
16+
const key = s.split('').sort().join('');
17+
if(!map.has(key)) {
18+
map.set(key, [])
19+
}
20+
map.get(key).push(s);
21+
}
22+
return Array.from(map.values());
23+
};

0 commit comments

Comments
ย (0)