다음과 같이 input이 주어졌을 때,같은 알파벳으로 이루어진 단어끼리 묶어주세요.
Input: ["eat", "tea", "tan", "ate", "nat", "bat"],
Output:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
output에서 순서는 상관없습니다.
dic의 key이자 기준이 될 anagram을 만든다.
let anagram = str.split('').sort().join('')
키 값이 존재하지 않을 땐, anagram이 key가 되는 동시에 빈 배열에 해당 문자열을 value로 넣어준다.
반면 이미 같은 angram이 존재할 땐, 배열에 해당 문자를 추가해준다.
!dic[anagram]? dic[anagram]=[str] : dic[anagram].push.(str)
최종적으로 반환해야 할 값은, dic의 value들이 들어있는 배열이므로, Object.values(dic)을 반환한다.
return Object.values(dic)