어제의 나보다 성장한 오늘의 나

[프로그래머스][Level2][Java] JadenCase 문자열 만들기 본문

알고리즘/프로그래머스(Programmers)

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

NineOne 2020. 12. 30. 01:25

programmers.co.kr/learn/courses/30/lessons/12951

 

코딩테스트 연습 - JadenCase 문자열 만들기

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건

programmers.co.kr

문제풀이

이번 문제는 설명이 조금 부족한 것인지 내가 잘 못 이해 한것인지 헷갈렸던거 같다.

처음에 공백을 " " 하나로만 생각해서 split()함수를 써서 풀었는데 실수였다. 공백또한 몇개가 있는지 모르기 때문에 일일히 검사해줘야 했다. 문자열을 하나씩 검사하면서 첫번째만 toUpperCase()와 toLowerCase()을 이용해서 조건에 맞게 변환시켜주었다.

코드

class Solution {
    public String solution(String s) {
        String answer = "";
        
        // 공백 검사
        boolean flag = true;
        
        for(int i =0; i<s.length(); i++){
            if(s.charAt(i) == ' ') {
            	flag = true;
            	answer += s.charAt(i);
            }
            else{
                if(flag) {	// 공백 다음 첫 단어
                	answer += s.substring(i, i+1).toUpperCase();
                	flag = false;
                }else {
                	answer += s.substring(i, i+1).toLowerCase();
                }
            }
        }
        
        return answer;
    }
}
Comments