카테고리 없음

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

DuL2 2022. 10. 22. 23:30

문제 설명

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

제한 사항

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

입출력 예

s return
"try hello world" "TrY HeLlO WoRlD"

 

First Try

실패~~~

 

    public String solution(String s) {
        String answer = "";
        String[] sArr = s.split(" ");

        for (int i = 0; i < sArr.length; i++) {
            System.out.println(sArr[i]);
            String[] split = sArr[i].toLowerCase().trim().split("");
            for (int j = 0; j < split.length; j++) {
                if (j % 2 == 0) {
                    answer += split[j].toUpperCase();
                } else {
                    answer += split[j].toLowerCase();
                }
            }
            answer += " ";
        }

        return answer.trim();
    }

예상 결과

입출력 예상 결과의 예시인 "try hello world"을 넣으면 잘되지만 다른 반례가 있다.

 

이유는 문제를 잘 읽어야한다.

 

각 단어는 하나 이상의 공백문자로 구분되어 있습니다

하나 이상의 공백 문자. Split으로 쪼갤 때 공백이 2개 이상이라면 문제가 생긴다. 예시를 보자