7주차 · 정렬
보통해시문자열정렬

애너그램 묶기

문자열 배열 strs가 주어져요. 애너그램끼리 묶어 2차원 배열로 반환해요.

애너그램은 글자 구성이 같고 순서만 다른 단어예요. 예를 들어 "eat", "tea", "ate"는 서로 애너그램이에요.

그룹의 순서와 그룹 안 단어의 순서는 채점에 영향을 주지 않아요.

예시

예시 1
예시 2
예시 3

제한 사항

  • 1 ≤ strs.length ≤ 10,000
  • 0 ≤ strs[i].length ≤ 100
  • strs[i]는 영소문자로만 이루어져 있어요.
각 단어의 글자를 정렬한 문자열을 키로 쓰면 애너그램끼리 같은 키를 가져요. 글자 개수 26칸 배열을 키로 만들어도 돼요.
javascript
function groupAnagrams(strs) {
const groups = new Map();
for (const word of strs) {
const key = word.split("").sort().join("");
if (!groups.has(key)) groups.set(key, []);
groups.get(key).push(word);
}
return [...groups.values()];
}
에디터를 불러오고 있어요…
코드를 작성하고를 눌러 예시 테스트를 확인해 보세요.