https://programmers.co.kr/learn/courses/30/lessons/12951#
해결 방안
s를 함부로 split 하게 되는 경우 주어진 s 중 3People__abc 와 같은 경우 두 번 띄어쓰기를 처리하는데 어려움을 겪었다. 따라서 StringBuilder를 이용하여 i일 때 i-1 인덱스가 " "인 경우 대문자로 변환해주었다.
이 때 StringBuilder의 setCharAt()을 이용하여 i번 째 char형을 쉽게 바꿀 수 있었으며 Character.toUpperCase()를 이용하여 해당 char를 대문자로 바꿀 수 있다.
* StringBuilder의 setCharAt(int i, char c) : StringBuilder 변수의 i번째 index의 character를 c로 바꿔준다.
Character.toUpperCase(char c) : c를 대문자로
Character.toLowerCase(char c) : c를 소문자로
코드
//JadenCase 문자열 만들기
class Solution {
public String solution(String s) {
String answer = "";
s = s.toLowerCase();
StringBuilder sb = new StringBuilder(s);
for(int i=0; i<s.length(); i++){
if(s.charAt(i) == ' '){
continue;
}
if(i==0)
sb.setCharAt(i, Character.toUpperCase(s.charAt(i)));
else if(i>0){
if(s.charAt(i-1) == ' ')
sb.setCharAt(i, Character.toUpperCase(s.charAt(i)));
}
}
answer = new String(sb);
return answer;
}
}
'Development Logs > Algorithms' 카테고리의 다른 글
[JAVA] 프로그래머스 : 문자열 다루기 기본 (Level 1) (0) | 2020.08.28 |
---|---|
[JAVA] 프로그래머스 : 문자열 내 마음대로 정렬하기 (Level 1) (0) | 2020.08.28 |
[JAVA] 프로그래머스 : 124 나라의 숫자 (0) | 2020.08.26 |
[JAVA] 백준 15686번 : 치킨 배달(삼성 SW 역량 테스트 기출 문제) (0) | 2020.08.25 |
[JAVA] 백준 15685번 : 드래곤 커브(삼성 SW 역량 테스트 기출 문제) (0) | 2020.08.25 |