[JAVA] 2023_0417 msg

박희현·2023년 4월 18일
0

MSG 코딩테스트

목록 보기
13/32

4/17 코딩테스트


문제 설명

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


풀이

//다른 사람이 푼 다른 풀이
class Solution {
    public String solution(String s) {
        String answer="";
        int index=0;
        for(int i=0; i<s.length(); i++){
            char s_arr = s.charAt(i);
            //s문자열의 한 문자씩 s_arr에 넣는다
            if(s_arr==' '){//s_arr이 공백이면 answer에 " "공백을 누적시킨다
                index=0;
                answer+=" ";
                continue;
                //continue를 하지 않으면 index가 0으로 다시 초기화 되지 않음
            }
            if(index%2==0){
                answer+=String.valueOf(Character.toUpperCase(s_arr));
                //index가 짝수이면 toUpperCase()함수를 사용해 대문자로 변환
            }else{
                answer+=String.valueOf(Character.toLowerCase(s_arr));
                //index가 홀수이면 toLowerCase()함수를 사용해 소문자로 변환
            }
            index++;
            
        }
        //내가 처음에 푼 틀린 풀이
        // for(int i=0; i<s_arr.length; i++){
        //     for(int j=0; j<s_arr[i].length(); j++){
        //         if(j%2==0){
        //             answer+=Character.toUpperCase(s_arr[i].charAt(j));
        //         }else{
        //             answer+=s_arr[i].charAt(j);
        //         }
        //	   answer+=" ";
        //     }
        // }
        //결과값 : "TrY HeLlO WoRlD "
        return answer;
    }
}
profile
희현's velog

0개의 댓글