공부기록/프로그래머스

[프로그래머스] 이상한 문자 만들기

메델 2023. 9. 3. 01:46
import java.util.*;
class Solution {
    public String solution(String s) {
        String answer = "";
        String[] words = s.split(" ",-1);
        StringBuilder sb = new StringBuilder();
        
        for(int i=0; i<words.length; i++){
            for(int j=0; j<words[i].length(); j++){
                char c = words[i].charAt(j);
                if(j%2==0){
                    c = Character.toUpperCase(c);
                }else{
                    c = Character.toLowerCase(c);
                }
                sb.append(c);
            }
            
            if(i<words.length-1){
                sb.append(" ");
            }
        }
        
        return sb.toString();
    }
}

테스트 케이스 에서 계속 오류 났다.

이 문제는  String[] words = s.split(" ");이 아닌 String[] words = s.split(" ", -1);을 해줘야한다.

 

 

split 메서드의 두 번째 인수는 limit로서, 문자열을 나눌 때 생성되는 하위 문자열의 최대 개수를 지정합니다. 여기서 limit 값을 -1로 설정하면 문자열을 가능한 모든 부분 문자열로 분할하게 됩니다. 즉, 구분자로 나눌 때 문자열에 구분자가 포함된 경우에도 모든 부분 문자열로 분할합니다.