: 공백이 연달아 나올 수 있다. 그렇기 때문에 공백이 나오는 순간마다 flag를 체크해준다.
그 flag 가 확인되면 대문자 처리를 해주고 나머지는 소문자로 처리해주면 된다.
숫자는 toUpperCase를 사용해도 무방하기 때문에 이렇게 처리하였다.
✅ 전체 코드
: 다른 분의 풀이도 참조했는데 너무나도 간단하게 푼 코드가 있어 첨부한다.
import java.util.*;
class Solution {
public String solution(String s) {
StringBuilder answer = new StringBuilder();
/* 첫번째 문자 여부 */
boolean isFirst = true;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ') {
answer.append(s.charAt(i));
isFirst = true; /* 공백 다음엔 첫번째 문자 */
} else {
if (isFirst) { /* 첫번째 문자의 경우 */
answer.append(String.valueOf(s.charAt(i)).toUpperCase());
isFirst = false; /* 첫번째 문자가 아님 */
} else {
answer.append(String.valueOf(s.charAt(i)).toLowerCase());
}
}
}
return answer.toString();
}
}
class Solution {
public String solution(String s) {
String answer = "";
String[] sp = s.toLowerCase().split("");
boolean flag = true;
for(String ss : sp) {
answer += flag ? ss.toUpperCase() : ss;
flag = ss.equals(" ") ? true : false;
}
return answer;
}
}