[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
반응형
TAGS.

Comments