WeCode Kata Day 18

luneah·2021년 12월 23일
0

WeCode Kata

목록 보기
18/20
post-thumbnail

문제

다음과 같이 input이 주어졌을 때,같은 알파벳으로 이루어진 단어끼리 묶어라.

Input: ["eat", "tea", "tan", "ate", "nat", "bat"],
Output:
[
  ["ate","eat","tea"],
  ["nat","tan"],
  ["bat"]
]

output에서 순서는 상관없습니다.

Thinking Algorithm

  1. 객체에서 value 값을 알파벳의 오름차순으로 정렬
  2. value 값이 없으면 새로운 배열 생성, 빈 배열이 아니라면 push 해줌
  3. 객체의 value 값만 리턴

Code

const groupAnagrams = strs => {
  const obj = {};

  for(let str of strs) {
    const key = [...str].sort().join('');

    if(!obj[key]) {
      obj[key]=[];
    }
    obj[key].push(str);
  }
  return Object.values(obj);
};
profile
하늘이의 개발 일기

0개의 댓글