import java.util.*;

class Solution {
    public String solution(String s) {
        s = s.toLowerCase();
        
        StringBuffer sb = new StringBuffer();
        
        for(int i=0; i<s.length(); i++){
            String c = String.valueOf(s.charAt(i));
            
            if(i==0){
                c = c.toUpperCase();
            }else if(s.charAt(i-1) == ' '){
                c = c.toUpperCase();
            }
            
            sb.append(c);
        }
        
        return sb.toString();
    }
}

 

1. 입력받은 문자열을 모두 소문자로 만든다. (toLowerCase() 함수 사용)

2. 문자열 s의 원소값 1개씩 String 자료형으로 받는다. 그 이유는 toUpperCase() 함수를 사용하기 위해

3. 원소값 앞에 공백이 있으면 해당 자리는 대문자로 취급해야 하기에 s.charAt(i-1) == ' ' 처리