문제 설명
JadenCase 문자열 만들기
해결 방법
flag를 이용해보려고 했는데 굳이 그럴 필요 없었다. 문자열의 첫번째 인덱스만 따로 빼서 다루었다. 앞 문자가 공백인데 바로 다음 문자가 공백이 아니면 단어의 첫 문자라는 의미이므로 대문자로 변경하고 그 경우가 아니면 소문자여야하므로 소문자로 변경한다. toupper, tolower 함수는 알파벳이 아닌 경우 들어간 문자를 그대로 반환하기 때문에 상관없다.
💻소스코드
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
if ('a' <= s[0] && s[0] <= 'z')
answer += toupper(s[0]);
else
answer += s[0];
for (int i = 1; i < s.size(); i++) {
if (s[i - 1] == ' ' && s[i] != ' ')
answer += toupper(s[i]);
else
answer += tolower(s[i]);
}
return answer;
}