Algorithm/Programmers

[연습 문제 - 이상한 문자 만들기]

돌건 2021. 7. 25. 22:22
  • 문제

https://programmers.co.kr/learn/courses/30/lessons/12930

 

코딩테스트 연습 - 이상한 문자 만들기

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

programmers.co.kr

 

  • 분석 및 해결
전체 문자열은 하나 이상의 공백을 기준으로 여러 개의 단어로 이루어져 있다. 여기서 중요한 포인트는 1개 정도로 볼 수 있다.

1. 주어진 문자열 s의 전체 인덱스를 기준으로 하는 것이 아닌 문자열 s에 포함되어 있는 문자열 각각에 대해서 이상한 문자를 구할 것.
import java.util.*;

class Solution {
    public String solution(String s) {
        String answer = "";
        int cnt = 0;
        int len = s.length();
        
        for(int index = 0; index < len; index++) {
            char ch = s.charAt(index);
            
            if(ch == ' ') {
                cnt = 0;
                answer += " ";
            }
            else {
                answer += (cnt % 2 == 0) ? Character.toUpperCase(ch) : Character.toLowerCase(ch);
                cnt++;
            }
        }
        
        return answer;
    }
}