본문 바로가기
Study/99클럽 코테 스터디

[99클럽 코테 스터디 13일차 TIL] JadenCase 문자열 만들기

by hxxyeoniii 2025. 4. 16.

 

13일차 문제

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

문제 풀이

처음 작성했던 코드에서 테스트 케이스 1개가 계속 실패했다. -> 테스트 케이스 8번

 

반례는 다음과 같다.

문자열이 " This is an apple     "처럼 뒤에 공백이 존재할 경우, 뒤의 공백을 함께 출력해주어야 한다.

 

원래는 split 함수를 그대로 사용했지만, 다음과 같이 수정하였다.

String[] arr = s.split(" "); // 수정 전
String[] arr = s.split(" ", -1); // 수정 후

-> split 함수 두번째 인자는 배열의 크기를 제한하는 역할을 한다. 

-> -1을 사용하면 나누어진 모든 결과가 포함된다. = 공백으로 나누어진 뒤 빈 문자열도 결과 배열에 포함

 

 

 

import java.util.*;

class Solution {
		public String solution(String s) {
			String answer = "";
			String[] arr = s.split(" ", -1);

			for(int j=0; j<arr.length; j++) {
				String str = arr[j];
				String changedStr = "";
                
				for(int i=0; i<str.length(); i++) {
					char c = str.charAt(i);
					if(i==0) {
						if(Character.isLowerCase(c)) {
							changedStr += Character.toUpperCase(c);
						} else {
							changedStr += c;
						}
					} else {
						changedStr +=  Character.toLowerCase(c);
					}
				}
				answer += changedStr;
				if(j != arr.length-1) {
					answer += " ";
				}
			}
			return answer;
		}
	}