
public static String solution(String s) {
StringBuilder sb = new StringBuilder();
boolean isFirst = true; // 단어의 첫 글자인지 체크
for (char c : s.toCharArray()) {
if (c == ' ') {
sb.append(c); // 공백은 그대로 추가
isFirst = true; // 다음 문자는 단어의 시작
} else {
if (isFirst) {
sb.append(Character.toUpperCase(c)); // 첫 글자 → 대문자
isFirst = false;
} else {
sb.append(Character.toLowerCase(c)); // 나머지 → 소문자
}
}
}
return sb.toString();
}
처음에는 " " 기준으로 split() 해서 단어별로 처리하려 했지만,
이 경우 공백이 여러 개일 때 손실이 생김 → JadenCase 조건과 다름
그래서 문자 하나하나 순회하며 처리하는 방식으로 구현
단어의 첫 글자인지 여부를 boolean 플래그로 추적