JadenCase 문자열 만들기(java)

최준근·2022년 1월 27일
0

java알고리즘

목록 보기
55/63

문제설명

생각하기

  • 문자열에 대한 기본적인 메소드들과 조건을 충족시켜 문자를 바꾸는 문제입니다.
  • 문자열의 길이가 200이기 때문에 StringBuilder를 사용합니다.
  • 각 문자열의 첫번째를 확인하기위해 int 변수 cnt를 초기화 시키고 활용합니다.
  • 문자열 탐색도중 공백을 만난다면 cnt를 0으로 만들어 줍니다.

내 풀이

class Solution {
    public String solution(String s) {
        s = s.toLowerCase();
        StringBuilder ss = new StringBuilder();
        int cnt = 0;
        
        for(int i=0; i<s.length(); i++){
            char a = s.charAt(i);
            if(cnt ==0 && Character.isLetter(a)){
                a = Character.toUpperCase(a);
                ss.append(a);
                cnt++;
            }else{
                if( a ==' '){
                    cnt = 0;
                    ss.append(" ");
                    continue;
                }
                ss.append(a);
                cnt++;
            }
        }
     return ss.toString();
    }
}

두번째 시도에 성공하였습니다. 첫번째 시도엔 문자열을 공백으로 나눈 String[]을 활용했지만 여러번의 공백이 나올 수 있기 때문에 적절하지 않은 방법입니다.
문자열 전체를 읽으면서 문자 하나씩 비교하는 전체 탐색알고리즘입니다.

키포인트는 공백이 여러번 나올 때 cnt를 0으로 만들어주고 반복문을 넘기는 것 입니다.
그래야 다음 문자열의 첫번째 글자를 확인하기 수월합니다.

profile
느려도 좋으니 꾸준하게

0개의 댓글