728x90
programmers.co.kr/learn/courses/30/lessons/12951
문제 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- s는 길이 1 이상인 문자열입니다.
- s는 알파벳과 공백문자(" ")로 이루어져 있습니다.
- 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )
입출력 예
s | return |
3people unFollowed me | 3people Unfollowed Me |
for the last week | For The Last Week |
문제 풀이
문자열 s를 모두 소문자로 변환한 다음, 첫번째 글자이거나 그 전 글자가 공백문자이고 알파벳 소문자이면 대문자로 변환하면서 한 글자씩 StringBuilder에 추가한다.
public class Solution {
public String solution(String s) {
s = s.toLowerCase();
StringBuilder sb = new StringBuilder();
int len = s.length(), i; char c;
for( i = 0; i < len; i++ ) {
c = s.charAt(i);
if( ( i == 0 || s.charAt(i-1) == ' ' ) && Character.isAlphabetic(c) )
c -= 32;
sb.append( c );
}
return sb.toString();
}
}
반응형
'코딩 문제 풀기 ( Algorithm problem solving ) > 프로그래머스 ( Programmers )' 카테고리의 다른 글
[프로그래머스(Programmers)][자바(java)] (Lv2) 수식 최대화 <2020 카카오 인턴십> (0) | 2020.10.16 |
---|---|
[프로그래머스(Programmers)][자바(java)] (Lv2) N개의 최소공배수 (0) | 2020.10.16 |
[프로그래머스(Programmers)][자바(java)] (Lv2) 행렬의 곱셈 (0) | 2020.10.15 |
[프로그래머스(Programmers)][자바(java)] (Lv2) 피보나치 수 (0) | 2020.10.15 |
[프로그래머스(Programmers)][자바(java)] (Lv2) 최솟값 만들기 (0) | 2020.10.15 |