class Solution {
public String solution(String s) {
s = s.toLowerCase();
StringBuilder ss = new StringBuilder();
int cnt = 0;
for(int i=0; i<s.length(); i++){
char a = s.charAt(i);
if(cnt ==0 && Character.isLetter(a)){
a = Character.toUpperCase(a);
ss.append(a);
cnt++;
}else{
if( a ==' '){
cnt = 0;
ss.append(" ");
continue;
}
ss.append(a);
cnt++;
}
}
return ss.toString();
}
}
두번째 시도에 성공하였습니다. 첫번째 시도엔 문자열을 공백으로 나눈 String[]을 활용했지만 여러번의 공백이 나올 수 있기 때문에 적절하지 않은 방법입니다.
문자열 전체를 읽으면서 문자 하나씩 비교하는 전체 탐색알고리즘입니다.
키포인트는 공백이 여러번 나올 때 cnt를 0으로 만들어주고 반복문을 넘기는 것 입니다.
그래야 다음 문자열의 첫번째 글자를 확인하기 수월합니다.