코딩테스트 준비/leetcode

49. Group Anagrams

MAKGA 2021. 8. 7. 13:22
320x100

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

 

Group Anagrams - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

문자열의 목록이 주어졌을 때, Anagram(원본 문자를 한번 사용으로 재배열해 만든 문자)을 그룹화 해 반환하는 문제다.

주어진 문자열들을 각각 정렬하고 동일한 문자들끼리 모아둔다. (정렬된 문자열을 key로 unordered_map 사용)

그 후에 모아둔 문자열을 2중 벡터에 담아 반환한다.

 

class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) {
        unordered_map<string, vector<string>> map; 
        for (string& str : strs)
        {
            string s = str;
            sort(s.begin(), s.end());
            map[s].push_back(str);
        }
        
        vector<vector<string>> ret;
        for(auto& iter : map)
        {
            ret.push_back(iter.second);
        }
        
        return ret;
    }
};

 

320x100

'코딩테스트 준비 > leetcode' 카테고리의 다른 글

1. Two Sum  (0) 2021.08.07
50. Pow(x, n)  (0) 2021.08.07
53. Maximum Subarray  (0) 2021.08.06
35. Search Insert Position  (0) 2021.08.06
16. 3Sum Closest  (0) 2021.08.05