[LeetCode] 49. Group Anagrams (javascript)
728x90
반응형
각 문자열을 배열로 만들어 정렬한 다음 다시 문자열로 만듬
정렬된 문자열에 해당하는 기존 문자열들을 집어넣음
객체를 돌면서 answer배열에 각 배열들을 넣는다.
1. 객체이용
/**
* @param {string[]} strs
* @return {string[][]}
*/
var groupAnagrams = function(strs) {
ans=[]
dic={}
for(let i=0;i<strs.length;i++){
w=(strs[i].split('').sort()).join('')
if(!dic[w]){
dic[w]=[strs[i]]
}else{
dic[w].push(strs[i])
}
}
Object.values(dic).forEach(arr=>{
ans.push(arr)
})
return ans
};
2. 객체 없이 배열로만 푸는 방법
/**
* @param {string[]} strs
* @return {string[][]}
*/
var groupAnagrams = function(strs) {
dic=[]
strs.forEach(str=>{
w=str.split('').sort().join('');
dic[w]=dic[w]?[...dic[w],str]:[str];
})
return Object.values(dic)
};
728x90
반응형
'Leetcode' 카테고리의 다른 글
[LeetCode] 121. Best time to buy and sell stock (javascript) (0) | 2020.12.18 |
---|---|
[LeetCode] 5. Longest Palindromic Substring (javascript) (0) | 2020.12.17 |
[LeetCode] 125. valid palindrome (javascript) (0) | 2020.12.17 |
leetCode - move zeros (python, javascript) (0) | 2020.12.16 |
[Leetcode] 20. valid parentheses (python, easy) (0) | 2020.11.25 |
TAGS.