코린이의 소소한 공부노트

[프로그래머스/Lv.1] 이상한 문자 만들기 본문

코딩테스트 풀이/JAVA

[프로그래머스/Lv.1] 이상한 문자 만들기

무지맘 2022. 11. 25. 09:56

1. Input

1) 문자열 s

 

2. Output

1) 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열

2) 각 단어는 하나 이상의 공백문자로 구분되어 있다.

 

3. Constraint

1) 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야 한다.

2) 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 한다.

 

4. Example

Input: s="try hello world“ -> Output: "TrY HeLlO WoRlD”

Input: s="aaaa " -> Output: "AaAa "

설명:

- "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"이기 때문에 "TrY HeLlO WoRlD"를 반환한다.

- 마지막이 공백이지만 다음 단어가 없으므로 공백까지 한 단어로 생각해 길이가 5인 문자열을 반환한다고 생각해야 한다.

 

5. Code

1) 첫 코드(2022/??)

String answer = "";
int index = 0;
for(int i=0 ; i<s.length() ; i++){
    char c = s.charAt(i);
    if(c==' '){
        index = 0;
        answer += " ";
    }
    else{
        if(index%2==0){
            answer += (c+"").toUpperCase();
            index++;
        }
        else{
            answer += (c+"").toLowerCase();
            index++;
        }
    }
} // for i
return answer;