프로그래머스/레벨2

[JAVA] 프로그래머스 레벨2_JadenCase 문자열 만들기😀

박차 2023. 1. 28. 02:21
내 코드
    public String solution(String s) {
    	String answer = "";
        char[] c = s.toLowerCase().toCharArray();
        c[0] = Character.toUpperCase(c[0]);
        for(int i = 0 ; i< c.length ; i++) {
        	if(c[i] == ' ') {
        		c[i+1] = Character.toUpperCase(c[i+1]);
        	}
        	answer += c[i];
        }
        return answer;
    }

테스트 8번에서 런타임 에러..

음.. split으로 끊어줘야하나........................................ 

이 문제는 질문이 78개나 있다.. 다들 비슷한 에러인듯ㅋ큐 

 

다른 사람 코드 참조(감사합니다)
	public String solution(String s) {
		String answer = "";
		String[] str = s.toLowerCase().split("");

		boolean bool = true;

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

		return answer;
	}​

1. split으로 문자열은 하나씩 잘라서 String[]담기

2. 일단 첫문자는 무조건 대문자여야 하기 때문에 true

3. 그 다음부턴 삼항연산자로 " "공백이 나오면 대문자로 변환

 

누가 나 좀 알고리즘으로 돌려줘요