class Solution {
public String solution(String s) {
String answer = "";
StringBuilder sb = new StringBuilder();
String first = s.charAt(0) + "";
sb.append(first.toUpperCase());
for(int i = 1; i < s.length(); i++){
String now = s.charAt(i) + "";
if(now.equals(' ')) sb.append(" ");
else if(s.charAt(i - 1) == ' ') sb.append(now.toUpperCase());
else sb.append(now.toLowerCase());
}
answer = sb.toString();
return answer;
}
}
- String answer = "";과 StringBuilder sb = new StringBuilder();를 사용하여 빈 문자열 answer와 문자열을 빠르게 조작하기 위한 StringBuilder 객체 sb를 초기화
- String first = s.charAt(0) + "";를 사용하여 입력 문자열 s의 첫 글자를 가져온 다음 이를 대문자로 변환하여 sb에 추가, 이 부분은 첫 번째 단어의 첫 글자를 대문자로 만드는 역할
- for문을 사용해 문자열 s를 순회
- String now = s.charAt(i) + "";를 사용하여 현재 글자를 가져옴
- 문자열 조작
- if (now.equals(' ')): 현재 글자가 공백 문자이면, 그대로 sb에 추가
- else if (s.charAt(i - 1) == ' '): 현재 글자가 공백 문자가 아니지만 바로 전 글자가 공백 문자인 경우, 현재 글자를 대문자로 변환하여 sb에 추가 ( 단어의 첫글자)
- 그 외의 경우에는 현재 글자를 소문자로 변환하여 sb에 추가
- answer = sb.toString();를 사용하여 StringBuilder에 저장된 결과를 문자열로 변환하고, 이를 answer에 저장한 다음 반환
댓글