풀이

public static String solution(String s) {
        //주어진 s를 하나하나 split해서 String 배열로 만든다.
        String[] str = s.split("");
        // return 할 String
        String ans = "";
        // index 역할을 하는 변수. 홀수와 짝수를 판별해서 대소문자를 구분한다.
        int cnt = 0;

        // 공백이면 cnt값을 0으로 초기화하고 조건에 맞춰서 대소문자 변환 후 ans에 더해준다.
        for (String ss : str){
            cnt = ss.equals(" ") ? 0 : cnt+1;
            ans += cnt % 2 != 0 ? ss.toUpperCase():ss.toLowerCase();
        }
        return ans;
    }

 

공백없이 split(""); 쓰면 하나하나 잘린다. 

 String s = "  tRy hello  WORLD    ";
 char[] str = s.split("");
 
 /* 출력
ss =  
ss =  
ss = t
ss = R
ss = y
ss =  
ss = h
ss = e
ss = l
ss = l
ss = o
ss =  
ss =  
ss = W
ss = O
ss = R
ss = L
ss = D
ss =  
ss =  
ss =  
ss =  

*/

이 문제에서는 리턴되는 문자열에서 중간에 공백 여러개 생기는건 고려하지 않아도 되는거 같다.

+ Recent posts