https://programmers.co.kr/learn/courses/30/lessons/12951
개인적으로 굉장히 구진 문제라고 생각하는데
이유는
1. 공백이 여러개 겹쳐있는 경우
예시에서는 공백이 문자마다 하나씩있는데 테스트 케이스안에는 " " 이런식으로 여러개가 붙어있는 경우가 있는 듯하다. 그래서 처음에 split을 통해서 처리했을 때 문제가 발생한다.
2. 공백 문자열을 다 살려야 한다.
공백 문자가 문장에 맨앞, 맨뒤 어디에 얼마나 붙어있든 상관없이 공백 전체를 살려야한다.
암튼 해결 방식은 문자열 전체를 char[]로 만들어서 하나씩 check한다.
이 과정에서 앞의 문자가 공백이면 대문자로 아니면 소문자로 처리하였다.
// 프로그래머스 JadenCase 문자열 만들기 문제
class Solution {
public String solution(String s) {
char[] chars = s.toCharArray();
boolean isPreBlank = true;
StringBuilder answer = new StringBuilder();
for (char aChar : chars) {
if (aChar == ' ') {
answer.append(' ');
isPreBlank =true;
}else {
if (isPreBlank) {
isPreBlank = false;
answer.append(String.valueOf(aChar).toUpperCase());
}else {
answer.append(String.valueOf(aChar).toLowerCase());
}
}
}
return answer.toString();
}
}
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 프렌즈4블록 문제 (자바) (0) | 2021.06.04 |
---|---|
프로그래머스 - [3차] 파일명 정렬 문제 (자바) (0) | 2021.06.03 |
프로그래머스 - 행렬의 곱셈 문제 (자바) (0) | 2021.06.03 |
프로그래머스 - 이진 변환 반복하기 문제 (자바) (0) | 2021.06.03 |
프로그래머스 - 피보나치 수 문제 (자바) (0) | 2021.06.03 |