[프로그래머스] 12951 JadenCase 문자열 만들기

jyleever·2022년 7월 15일
0

알고리즘

목록 보기
8/26

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12951

풀이

평범하게 문자열을 이용한 문제였다.
다만 주의할 곳은 맨 마지막에 공백 처리

문제 처음부터 마지막 문자가 공백이라면 그대로 출력
매번 문자가 끝날 때마다 공백을 추가해줬으므로 공백이 추가된 상태
따라서 맨 마지막 문자가 공백이 아니라면 공백 제거해서 출력

charAt(index), Character.toUpperCase(character), trim() 등의 메소드 이용

코드

/**
문제 처음부터 마지막 문자가 공백이라면 그대로 출력
매번 문자가 끝날 때마다 공백을 추가해줬으므로 공백이 추가된 상태
따라서 맨 마지막 문자가 공백이 아니라면 공백 제거해서 출력
**/

class Solution {
    public String solution(String s) {
        String answer = "";
        
        String[] words = s.split(" ");
        char endCharacter = s.charAt(s.length()-1); // 마지막 글자
        
        for(int i=0; i<words.length; i++){
            for(int j=0; j<words[i].length(); j++){
                
                char alpha = words[i].charAt(j);
                
                if(j == 0) alpha = Character.toUpperCase(alpha); // 첫 글자는 무조건 대문자
                else alpha = Character.toLowerCase(alpha); // 그 다음 글자부터는 소문자
                
                answer += alpha;
            }
            
            answer += ' '; // 단어가 끝날 때마다 공백 추가
        }
        
        // 맨 마지막 글자 공백 처리
        if(endCharacter == ' '){
            // 원래 맨 마지막에 공백이 온다면 그대로 반환
            return answer;
        } else{
            // 임의적으로 공백이 추가된 경우이므로 해당 공백을 잘라서 반환
            return answer.trim();
        }
    }
}

0개의 댓글