본문 바로가기

알고리즘/Programmers

[Programmers] Level1. 이상한 문자 만들기 (Java)

Level1. 이상한 문자 만들기 (Java)

문제설명 )

 

풀이Code )

class Solution {
    public String solution(String s) { // A : 65, a : 97
        String answer = "";
        int cnt = 0;
        
        for(int i=0; i<s.length(); i++) {
            char tmp = s.charAt(i);
            if(tmp == ' ') { // 공백일경우
                answer += ' ';
                cnt = 0;
            }
            else { // 공백이 아닐경우
                if (cnt%2 == 0) { // 짝수일경우
                     answer += tmp > 96 ? (char)(tmp - 32) : tmp;
                    cnt++;
                }
                else { // 홀수일경우
                     answer += tmp < 96 ? (char)(tmp + 32) : tmp;
                    cnt++;
                }
            }
        }
        
        return answer;
    }
}

 

 

풀이법 )

1. 공백일경우를 가장 상위 if문을 통해 걸러준다.

2. 짝수, 홀수를 구분하고 삼항연사자를 통해 대문자 또는 소문자, 또는 그대로 값을 담아준다. 

3. cnt를 통하여 인덱스를 구분하고 공백일때는 cnt를 초기화하여 공백을 기준으로 인덱스를구분한다.