풀이 과정
다른 문제와 차이점은 str가 공백일 때도 벡터에 넣어준다는 점이다.
그 이유는 공백문자가 연속해서 나올 수도 있기 때문이다.
일단 처음에 다 소문자로 바꿔준 뒤, 벡터에 넣은 값 인덱스 0값이 소문자라면 대문자로 바꿔준다. 그리고 마지막 인덱스를 제외하고 뒷부분에 공백을 붙여준다.
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
for(int i = 0; i < s.size(); i++){
if('A' <= s[i] && s[i] <= 'Z') s[i] += 32;
}
vector<string> v;
string str = "";
for(int i = 0; i < s.size(); i++){
if(s[i] == ' '){
v.push_back(str);
str = "";
}
else str += s[i];
}
v.push_back(str);
for(int i = 0; i < v.size(); i++){
if('a' <= v[i][0] && v[i][0] <= 'z') v[i][0] -= 32;
answer += v[i];
if(i != v.size() - 1) answer += ' ';
}
return answer;
}
'🍞 Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스][Level2] 가장 큰 정사각형 c++ (0) | 2022.10.20 |
---|---|
[프로그래머스][Level2] 삼각 달팽이 c++ (0) | 2022.10.20 |
[프로그래머스][Level2] 카카오 프렌즈 컬러링북 c++ (0) | 2022.10.20 |
[프로그래머스][Level2] 최솟값 만들기 c++ (0) | 2022.10.20 |
[프로그래머스][Level2] 최댓값과 최솟값 c++ (0) | 2022.10.20 |