문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12951
처음 문제를 봤을 때 그냥 split으로 공백 구분해서 자르고 substring 으로 맨 앞 글자는 대문자, 나머지는 소문자로 하면 되는 문제 아닌가? 라고 생각을 했는데 공백에서 은근 시간이 걸렸다.
리턴을 하려면 주어진 문자와 똑같은 상태로 리턴해야하는데 공백을 다 잘라버려서 어떻게 구분해야할지 고민했다.
생각해보니 주어진 문자는 손을 대지 않았으니 문자를 잘라 비교해보면 되는 문제였다.
class Solution {
public String solution(String s) {
String answer = "";
String[] str = s.split(" ");
for (int i = 0; i < str.length; i++) {
String ss = str[i];
if (str[i].length() == 0) { // 공백이라면 공백값 리턴
answer += " ";
} else {
String first = str[i].substring(0, 1).toUpperCase();
String a = str[i].substring(1, str[i].length()).toLowerCase();
answer += first + a + " ";
}
}
if (s.substring(s.length() -1, s.length()).equals(" ")) return answer;
return answer.substring(0, answer.length() -1);
}
}