Difficulty: MEDIUM
Categories: ํด์/๋งต์ ๋ ฌ
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> map = new HashMap<>();
for (String s : strs) {
char[] arr = s.toCharArray();
Arrays.sort(arr);
String key = new String(arr);
map.computeIfAbsent(key, k -> new ArrayList<>()).add(s);
}
return new ArrayList<>(map.values());
}
}
[์๋ ํ์ด ยท gpt-4.1-mini] ๊ฐ ๋จ์ด๋ฅผ ์ ๋ ฌํ์ฌ ๊ฐ์ ์ํ๋ฒณ ์กฐํฉ์ ๊ฐ์ง ๋จ์ด๋ค์ ๊ฐ์ ํค๋ก ๋ฌถ๋๋ค. ํด์๋งต์ ์ฌ์ฉํด ์ ๋ ฌ๋ ๋ฌธ์์ด์ ํค๋ก, ์๋ณธ ๋จ์ด ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ผ๋ก ์ ์ฅํ์ฌ ๊ทธ๋ฃนํํ๋ค. ์๊ฐ O(n k log k) (n์ ๋จ์ด ์, k๋ ๋จ์ด ๊ธธ์ด) ยท ๊ณต๊ฐ O(n k) (๋ชจ๋ ๋จ์ด๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ) ์ฃผ์: ์ ๋ ฌ๋ ๋ฌธ์์ด์ ํค๋ก ์ฌ์ฉํ ๋, ์๋ณธ ๋จ์ด๊ฐ ์๋ ์ ๋ ฌ๋ ๋ฌธ์์ด์ ๋ฐ๋์ ํค๋ก ์ฌ์ฉํด์ผ ํ๋ค.