반응형
https://leetcode.com/problems/reverse-words-in-a-string-iii/description/
문자열을 다루는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. 공백을 구분자로 문자열 token을 나눠 vector<string>에 저장하는 함수 split을 구현해 수행해줍니다. 이를 vector <string> splitedString에 저장해줍니다.2. 정답 변수 ans를 선언해 줍니다.
📔 풀이과정
1. splitedString에 대해 for loop를 수행하며 매 원소를 뒤집어줍니다.
2. 뒤집어진 문자열을 구분자와 함께 ans에 붙여줍니다.
3. 매 loop마다 구분자를 붙였으므로 마지막 구분자는 제거해줍니다.
📔 정답 출력 | 반환
ans를 반환해줍니다.
📕 Code
📔 C++
class Solution {
public:
vector <string> split(string input, char delimeter){
vector <string> res;
stringstream ss(input);
string token;
while(getline(ss,token,delimeter)){
res.push_back(token);
}
return res;
}
string reverseWords(string s) {
vector <string> splitedString = split(s, ' ');
string ans;
for(auto sp : splitedString) {
reverse(sp.begin(), sp.end());
ans += sp + " ";
}
ans.pop_back();
return ans;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > String' 카테고리의 다른 글
(C++) - LeetCode (easy) 824. Goat Latin (0) | 2023.07.24 |
---|---|
(C++) - LeetCode (easy) 819. Most Common Word (0) | 2023.07.20 |
(C++) - LeetCode (easy) 541. Reverse String II (0) | 2023.04.16 |
(C++) - LeetCode (easy) 521. Longest Uncommon Subsequence I (0) | 2023.04.14 |
(C++) - LeetCode (easy) 482. License Key Formatting (0) | 2023.03.27 |