문자열을 자르는 메서드인 substring()과 문자열을 각각 대문자, 소문자로 변환시켜주는 메서드인 toUpperCase(), toLowerCase()를 활용하면 간단하게 풀 수 있는 문제였다.
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
String temp = "";
for(int i=0; i<s.length(); i++) {
if(s.charAt(i)!=' ') temp += s.charAt(i);
else {
if(temp.length()>0)
answer += temp.substring(0,1).toUpperCase()+temp.substring(1,temp.length()).toLowerCase();
answer += " ";
temp = "";
}
}
if(temp.length()>0) answer += temp.substring(0,1).toUpperCase()+temp.substring(1,temp.length()).toLowerCase();
return answer;
}
}
공백이 여러번 나올 수도 있기 때문에 StringTokenizer는 사용할 수 없었고, 연속된 공백으로 인해 temp의 길이가 0일 경우 substring()을 사용할 수 없기 때문에 if(temp.length()>0) 조건을 추가했다.