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

HyunHwa Cho·2022년 8월 1일
0

문제설명

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

제한조건

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

입출력 예

  • s = "try hello world" - > return = "TrY HeLlO WoRlD"
package Programmers;

import java.util.Arrays;

public class 이상한문자만들기 {
    public static void main(String[] args) {
        String s = "try  hello  world";
        System.out.println((solution(s)));
    }// 테스트 케이스
    public static String solution(String s) {
        String answer = "";
        String[] str = s.split(""); 
        // s문자열을 "" 단위로 나눠서 문자열 배열로 나누어준다.
        int idx = 0; // 짝수인지 홀수인지 판별할 idx값을 초기화
        for(int i=0; i<str.length; i++) {
            if(str[i].equals(" ")) {
                idx = 0;
                //빈 문자열인 경우 idx는 0
            } else if(idx % 2 == 0) {
                str[i] = str[i].toUpperCase();
                idx++;
                //idx가 짝수인 경우에는 대문자로 변환후 다음 문자를 위해 idx++
            } else if(idx % 2 != 0) {
                str[i] = str[i].toLowerCase();
                idx++;
                //idx가 홀수인 경우 소문자로 변환
            }
            answer += str[i];
        } // 정답을 리턴할 answer에 각 문자들을 더해준다.

        return answer;
    }
}
profile
개발 공부 및 기록용 블로그 입니다.

0개의 댓글