320x100
https://leetcode.com/problems/group-anagrams/
문자열의 목록이 주어졌을 때, 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 |