[programmers] 이상한 문자 만들기(Java)

J-Cheol·2023년 12월 21일
0

프로그래머스

목록 보기
24/27
post-thumbnail

문제


프로그래머스 문제링크

풀이 코드


class Solution {
    public String solution(String s) {
        String[] str_arr = s.split("");
        String answer = "";
        int i = 0;
        int j = 0;
        while (i < str_arr.length)
        {
            if(str_arr[i].equals(" "))
            {
                j = 0;                
            }
            else if(j % 2 == 0)
            {
                str_arr[i] = str_arr[i].toUpperCase();
                j++;
            }
            else if(j % 2 != 0)
            {   
                str_arr[i] = str_arr[i].toLowerCase();
                j++;
            }            
            answer += str_arr[i];
            i++;
        }        
        return answer;
    }
}

리뷰


  1. 문자열 인덱스가 짝수번째 알파벳이라면 대문자 알파벳으로, 홀수번째 알파벳이라면 소문자 알파벳으로 변환하는 문제입니다. 이때 공백 문자기준으로 인덱스를 판별해야합니다. 공백문자는 1개이상일 수 있습니다.
  2. split을 사용하여 문자 하나하나를 str_arr에 저장하여주었습니다.
    2-1. int i는 str_arr에 담긴 문자에 접근하여줄 것입니다.
    2-2. int j는 홀수번째, 짝수번째 인덱스가 공백에 의해 초기화되는 것을 체크할 것입니다.
  3. 공백문자라면 j=0을 해줌으로 인덱스를 초기화 해주었습니다.
    3-1. j가 짝수번째 인덱스라면 str_arr[i] 문자를 대문자로 변환하여 주고 j를 늘려주었습니다.
    3-2. 다음 else if는 j가 홀수 인덱스라면 str_arr[i] 문자를 소문자로 변환하여 주고 j를 늘려주었습니다.
  4. 문자의 변환을 마쳤다면 answer에는 변환된 문자 혹은 공백이 추가되며, i를 늘려줌으로 다음 문자를 읽어옵니다.
profile
신입 백엔드 개발자(JAVA, Spring Boot, MYSQL)

0개의 댓글