문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
public class StrangeString {
public static void main(String[] args) {
StrangeString t = new StrangeString();
String s = "Te sT abcdefg ABCDEFG";
String solution = t.solution(s);
System.out.println("solution = " + solution);
}
public String solution(String s) {
StringBuilder sb = new StringBuilder();
char[] chars = s.toCharArray();
int su = 'a'-'A';
int flag = 0;
for(int i=0; i<chars.length; i++){
char c = chars[i];
if(c==' '){
sb.append((char) (c));
flag = 0;
continue;
}
if(flag%2 == 0){//짝수
if(c<'a')
sb.append((char) (c));
else
sb.append((char)(c-su));
}else{//홀수
if(c>'Z')
sb.append((char)(c));
else
sb.append((char)(c+su));
}
flag++;
}
return sb.toString();
}
}
java에서 간단한
toLowerCase();
toUpperCase();
가 있지만 굳이 char로 풀어보고 싶어서 다음과 같이 풀이했다.
난이도는 쉬운편이였어서 패스