2023.02.15 Complete !
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
s | return |
---|---|
"3people unFollowed me" | "3people Unfollowed Me" |
"for the last week" | "For The Last Week" |
class Solution {
public String solution(String s) {
String answer = "";
String[] str = s.toLowerCase().split(" ");
for(int i=0; i<str.length; i++) {
if(str[i].length() == 0) {
answer+=str[i]+" ";
}else {
answer+=str[i].substring(0, 1).toUpperCase()+str[i].substring(1)+" ";
}
System.out.println(answer);
}
if(s.charAt(s.length()-1) != ' ') {
answer = answer.trim();
}
return answer;
}
}
😥 고려하지 못했던 점
👉🏼 위를 고려하여 코드를 고치고 나서도 계속해서 오류가 나서 아래처럼 str[i] 자체를 고쳐주는게 아닌 문자열에 붙이는 형식으로 수정하니 완료되었음.
if(str[i].length() == 0) { str[i] = str[i]+" "; } str[i] = str[i].toLowerCase(); str[i] = str[i].substring(0, 1).toUpperCase()+str[i].substring(1);
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;
}
}
→ 삼항 연산자로 풀이하니 훨씬 더 깔끔하게 나온듯 하다.
여전히 오늘도 한번 더 배워간다 👍