Programmers 12951 JadenCase 문자열 만들기
Programmers 12951 JadenCase 문자열 만들기
Programmers - 12951 JadenCase 문자열 만들기
Task description#
원문 : Programmers 12951 링크
문제 설명#
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
Condition#
- s는 길이 1 이상인 문자열입니다.
- s는 알파벳과 공백문자(" “)로 이루어져 있습니다.
- 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )
###입력 형식
입출력 예
s | return |
---|---|
“3people unFollowed me” | “3people Unfollowed Me” |
“for the last week” | “For The Last Week” |
Solution#
class JadenCase {
public static void main(String[] args) {
System.out.println(new JadenCase().solution("3people unFollowed me"));
}
public String solution(String s) {
String answer = "";
s = s.toLowerCase();
int idx = 0;
for(int i=0; i < s.length() ;i++) {
char ch = s.charAt(i);
if(ch == ' ') {
idx = 0;
}else {
idx ++;
}
if(idx == 1) {
answer += String.valueOf(ch).toUpperCase();
}else {
answer += String.valueOf(ch);
}
}
return answer;
}
}
Others Solution#
class JadenCase {
public static void main(String[] args) {
System.out.println(new JadenCase().solution("3people unFollowed me"));
}
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;
}
}
TestCase#
"3people unFollowed me" "3people Unfollowed Me"
"for the last week" "For The Last Week"