Notice
Recent Posts
Recent Comments
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
관리 메뉴

함번보고 두번보고

[LeetCode] 49. Group Anagrams 본문

Algorithm

[LeetCode] 49. Group Anagrams

Hamstar_ 2021. 3. 20. 02:03

- 문제

문자를 재구성하여 같은 단어를 만들수 있는 애너그램을 그룹화 하여라.

- 입력

strs = ["eat","tea","tan","ate","nat","bat"]

 - 출력

[["bat"],["nat","tan"],["ate","eat","tea"]]

var groupAnagrams = function(strs) {
    
    var sortedStr = "";
    var obj = {};
    
    for(const str of strs) 
    	// 1. 애너그램 단어 추출
        sortedStr = str.split('').sort().join('');
        
        // 2. 오브젝트에 애너그램 Grouping
        if(obj[sortedStr] === undefined) {
            obj[sortedStr] = [str];
        } else {
            obj[sortedStr].push(str);
        }
    }
    
    // 3. 구한 애너그램을 배열에 각각 추가
    var ret = [];
    for(const a in obj) {
        ret.push(obj[a]);
    }
    
    return ret;
};

 

'Algorithm' 카테고리의 다른 글

[LeetCode] 819. Most Common Word  (0) 2021.03.18
Comments