
문자열을 순회하면서 바로 앞이 공백이라면 해당 문자를 대문자로, 아니면 소문자로 바꾸면서 전진하면 된다.
단, 무조건 제일 앞에 있는 문자는 대문자로 만든다.
C++ API로 아래의 기능을 지원한다.
https://en.cppreference.com/cpp/string/byte/toupper
https://en.cppreference.com/cpp/string/byte/tolower
다행이도 숫자나 공백에 대한 예외처리가 제대로 되어있다.
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
answer += toupper(s[0]);
for(int i=1;i<s.length(); ++i)
{
answer += s[i-1] == ' ' ? toupper(s[i]) : tolower(s[i]);
}
return answer;
}