JadenCase 문자열 만들기 (자바)

김재현·2023년 12월 13일
0

알고리즘 풀이

목록 보기
51/89

문제

정답 코드

class Solution {
    public String solution(String s) {
        String answer = "";

        String[] sArr = s.split(" ");

        // char[] 변환
        char[] sCharArray= s.toCharArray();

        // 첫 문자인지 판별하는 index
        int index=0;
        for (int i=0;i<s.length();i++) {
            if (sCharArray[i]==' ') {  //공백이면 index를 0으로 
                index=0;
            } else if (index==0) {  
                if (sCharArray[i]<='z' && sCharArray[i]>='a') {  // 공백이 아니고 첫 문자일 때 대문자로
                    sCharArray[i]-=32;
                }
                index++;   // 공백이 아니기때문에 index를 올려줌
            } else {
                if (sCharArray[i]<='Z' && sCharArray[i]>='A') {  // 첫문자가 아닐 때 대문자면 소문자로
                    sCharArray[i]+=32;
                }
                index++;   // 공백이 아니기때문에 index를 올려줌
            }
        }

        answer=String.valueOf(sCharArray);

        return answer;
    }
}

String.valueOf() 로 char 배열을 String으로 변환 시킬 수 있다.

다른 사람 풀이

class Solution {
  public String solution(String s) {
        String answer = "";
        String[] sp = s.toLowerCase().split("");
        boolean flag = true;

        for(String ss : sp) {
            answer += flag ? ss.toUpperCase() : ss;
            flag = ss.equals(" ") ? true : false;
        }

        return answer;
  }
}

오 처음에 모두 소문자로 만들어놓고 시작 할 수 있었겠구나.

String에 대해 toLowerCaser(), toUpperCase() 있었는데 사용해볼껄 그랬다. 기억이 안난다니!

profile
I live in Seoul, Korea, Handsome

0개의 댓글