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

정선모·2022년 1월 20일
0

프로그래머스

목록 보기
22/91

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

제한사항 :

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
  • split 메소드와 equals 메소드, toUpperCase(toLowerCase) 메소드를 활용해서 해결하였습니다. 조건문 중 공백을 찾아내는 조건문의 순서에 주의해야합니다.

    class Solution {
        public String solution(String s) {
            String answer = "";
            int count = 0;
            // 단어별 글자 구분을 위한 변수 count 선언
            
            String [] str = s.split("");
            // 문자열 s를 한글자씩 나눈 배열 str 선언
            
            for(int i=0; i<str.length; i++){
                if(str[i].equals(" ")){
                    // str 배열중에 공백이 있을경우 조건
                    answer += " ";
                    count = 0;
                    // answer에 공백을 추가하고 count를 0으로 초기화해준다.
                    // 해당 조건문이 최상위가 아니면 테스트케이스에서 오류가 발생함.
                    
                }else if(count%2 == 0){
                    // 단어중 짝수번째 글자일때 조건(첫번째 글자도 0번째 글자로 처리)
                    answer += str[i].toUpperCase();
                    // 해당 문자를 대문자로 변환
                    count++;
                    // 짝수의경우 count는 홀수가 된다.
                    
                }else if(count%2 != 0){
                    // 단어중 홀수번째 글자일때 조건
                    answer += str[i].toLowerCase();
                    // 해당 문자를 소문자로 변환
                    count++;
                    // 홀수의경우 count는 짝수가 된다.
                }
            }
            
            return answer;
        }
    }

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

    풀이에 도움이 된 링크
    https://mozi.tistory.com/499
    https://velog.io/@dkfma3323/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4%EC%9D%B4%EC%83%81%ED%95%9C-%EB%AC%B8%EC%9E%90-%EB%A7%8C%EB%93%A4%EA%B8%B0Java

    profile
    개발자가 되어가는 비전공자

    0개의 댓글