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

rse·2023년 10월 4일
0

알고리즘

목록 보기
39/44

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12951

설명

처음 문제를 봤을 때 그냥 split으로 공백 구분해서 자르고 substring 으로 맨 앞 글자는 대문자, 나머지는 소문자로 하면 되는 문제 아닌가? 라고 생각을 했는데 공백에서 은근 시간이 걸렸다.

리턴을 하려면 주어진 문자와 똑같은 상태로 리턴해야하는데 공백을 다 잘라버려서 어떻게 구분해야할지 고민했다.

생각해보니 주어진 문자는 손을 대지 않았으니 문자를 잘라 비교해보면 되는 문제였다.

코드

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] str = s.split(" ");
        for (int i = 0; i < str.length; i++) {
            String ss = str[i];
            if (str[i].length() == 0) { // 공백이라면 공백값 리턴
                answer += " ";
            } else {
                String first = str[i].substring(0, 1).toUpperCase();
                String a = str[i].substring(1, str[i].length()).toLowerCase();
                answer += first + a + " ";
            }
        }
        if (s.substring(s.length() -1, s.length()).equals(" ")) return answer;
        return answer.substring(0, answer.length() -1);
    }
}
profile
기록을 합시다

0개의 댓글