문제설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

 

제한 사항

문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

 

문제 풀이

1. String s를 각 문자로 나눠서 배열에 저장한다.

2. 각 인덱스 값을 매길 변수 int index =0; ->홀수 짝수를 나타내기 위해

3. 공백이 생길 때마다 index 값을 초기화 한다.

4. 홀수이면 toLowerCase() 사용, 짝수이면 toUpperCase() 사용한다.

5. 변환한 글자를 answer에 저장한다.

public class weirdo {

    public String solution(String s) {
        String answer = "";

        String[] word = s.split(""); //s를 한글잘씩 잘라 word 배열에 담습니다.
        int index = 0;         //홀수, 짝수를 나타나기 위한 index 변수입니다.
        int length = word.length; //word 배열의 길이

        for (int i = 0; i < length; i++) {
            if (word[i].equals(" ")){
                word[i] = " ";
                index = 0;      //공백이후 index 값 초기화 ==0이 된다.
            }else {
                if (index % 2 != 0) {
                    word[i] = word[i].toLowerCase();
                    index++;
                } else if (index % 2 == 0) {
                    word[i] = word[i].toUpperCase();
                    index++;
                }
            }
            answer = answer + word[i];
        }
        return answer;
    }




    public static void main(String[] args) {
        weirdo method = new weirdo();
        System.out.println(method.solution("I love a pizza"));
    }
}

 

출력값

I LoVe A PiZzA

 

피자를 사랑합니다🍕🍕😘

+ Recent posts