문자열에서 각 단어의 첫 글자를 대문자로
문제:
문자열을 가져와서 문자열에 있는 각 단어의 첫 글자가 대문자인 문자열을 반환해야 합니다.
주의:
- 단어는 공백으로 구분됩니다.
- 연속된 공백이 있을 수 있습니다.
- 공백(spaces)만으로 구성된 문자열을 입력하면 빈 문자열이 반환되어야 합니다.
코드 솔루션:
public class Solution {
public String letterCapitalize(String str) {
// TODO:
// if (str.length() == 0) return ""; // 이 코드는 생략해도 테스트에 통과한다.
// 문자열을 공백을 기준으로 쪼개준다.
String() words = str.split(" ");
String result = ""; // result는 나중에 합친 문자열을 담는다.
// 각 단어의 첫 글자를 대문자로 변경한다.
for(int i = 0; i < words.length; i++) {
if(words(i).isEmpty()) {
words(i) = words(i);
}
else {
words(i) = String.valueOf(words(i).charAt(0)).toUpperCase() + words(i).substring(1);
}
}
// 각 단어를 문자열로 다시 합쳐준다.
result = String.join(" ", words);
return result;
}
}
각 단어의 첫 글자를 대문자로 차근차근 의사 코드를 작성한 후 코드를 작성했습니다.
이 문제에서는 연속된 공백이 있을 수 있다는 점에 유의하십시오.
공백을 기준으로 문자열을 분할하여 배열을 만들 때 공백이 연속되는 경우 배열 요소에 공백이 포함될 수 있습니다.
따라서 이 부분은 if 문으로 별도로 처리해야 합니다.