본문 바로가기

리트코드/midium

[리트코드] 49. Group Anagrams - js

반응형

1. 문제

https://leetcode.com/problems/group-anagrams/description/

 

Group Anagrams - LeetCode

Can you solve this real interview question? Group Anagrams - Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase

leetcode.com

2. 코드

같은 알파벳 조합으로 이루어진 단어들을 배열로 묶어 리턴하는 문제다. 같은 알파벳 조합인 단어들을 묶어야 하므로 해시 맵을 사용한다.

/**
 * @param {string[]} strs
 * @return {string[][]}
 */
var groupAnagrams = function(strs) {
    let map = {};

    for(let str of strs){
        let s = str.split('').sort().join('');
        if(!map[s]) map[s] = [];
        map[s].push(str);
    }
    
    return Object.values(map);
};

Object.values는 그 객체의 값들만 뽑아 배열로 리턴해주는 메서드이다.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values

Object.keys는 그 객체의 키들만 뽑아 배열로 리턴해주는 메서드이다.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

반응형