https://school.programmers.co.kr/learn/courses/30/lessons/12951
문자열을 단어 하나하나 순회하면서 bool이 true면( 맨 앞 글자면 ) 대문자로바꾸고 bool을 false로 바꾸고 나머지는 소문자로 바꾸다가 공백을 만나면 bool을 true로 다시 바꿔준다.
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
bool b = true;
for(int i = 0; i < s.length(); i++)
{
if(b)
{
s[i] = toupper(s[i]);
b = false;
}
else
s[i] = tolower(s[i]);
if(s[i] == ' ')
b = true;
}
answer = s;
return answer;
}
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
answer += toupper(s[0]);
for (int i = 1; i < s.size(); i++)
s[i - 1] == ' ' ? answer += toupper(s[i]) : answer += tolower(s[i]);
return answer;
}
for문 돌리기 전에 맨 앞 단어부터 일단 처리해둔 뒤 for문을 돌리면서 검사하는 글자의 이전 글자가 공백이면 대문자로 , 아니면 소문자로 변환해준다.