소스코드
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
unordered_map<string, vector<string>> map;
vector<vector<string>> answer;
int idx = 0;
for(string s : strs){
sort(s.begin(), s.end());
map[s].push_back(strs[idx]);
idx++;
}
for(auto m : map){
answer.push_back(m.second);
}
return answer;
}
};
새롭게 알게된 tip
1. string도 sort를 사용할 수 있다. → sort(str.begin(), str.end());
2. hash_map 또는 unordered_map을 사용하면 string을 인덱스로 사용할 수 있다.
3. map의 요소에 접근할 때는 auto 타입을 사용하면 편하다.
'개인 공부 > 코딩테스트' 카테고리의 다른 글
[C++][leetcode] Middle of the linked list :: seoftware (0) | 2020.04.09 |
---|---|
[c++][leetcode] Counting Elements :: seoftware (0) | 2020.04.07 |
[C++][DP][백준] 2×n 타일링 2 :: seoftware (0) | 2020.04.07 |
[C++][백준] 11726번 2×n 타일링 :: seoftware (0) | 2020.04.07 |
[C++][leetcode] Best Time to Buy and Sell Stock II :: seoftware (0) | 2020.04.05 |
댓글