Reverse Words In String - medium
2021. 3. 28. 03:48ㆍAlgorithm/medium
이 문제는 AlgoExpert is the best!의 각 문자를 순서를 유지하며 뒤집는 문제이다. 각 문자의 시작을 체크해서 변수로 저장하고 다음 공백의 점의 인덱스를 저장해서 문자의 시작 인덱스부터 공백의 변수까지의 문자열을 넣어주면 된다. 그리고 양 옆의 각 요소들을 바꾸어 주면서 실행하면 된다.
더보기
using namespace std;
void reverseList(vector<string> &list);
string reverseWordsInString(string str) {
vector<string> words;
int startOfWord = 0;
for(int idx = 0; idx < str.size(); idx++){
char character = str[idx];
if(character == ' '){
words.push_back(str.substr(startOfWord, idx - startOfWord));
startOfWord = idx;
}else if(str[startOfWord] == ' '){
words.push_back(" ");
startOfWord = idx;
}
}
words.push_back(str.substr(startOfWord));
reverseList(words);
string output;
for(auto word : words){
output += word;
}
return output;
}
void reverseList(vector<string> &list){
int start = 0;
int end = list.size() - 1;
while(start < end){
string temp = list[start];
list[start] = list[end];
list[end] = temp;
start++;
end--;
}
}
'Algorithm > medium' 카테고리의 다른 글
레벤슈타인 거리 (0) | 2021.04.26 |
---|---|
특정 값을 이루는데 가장 적은 동전의 개수(Min Number Of Coins For Change) (0) | 2021.04.26 |
여러 수를 이용해서 목표하는 숫자를 만들 수 있는 방법(Number of ways to make change) (0) | 2021.04.26 |
인접하지 않는 최대 합 구하기 (0) | 2021.04.26 |
가장 긴 팰린드롬 문자열 구하기 (0) | 2021.03.28 |