문제 설명

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건
  • s는 길이 1 이상인 문자열입니다.
  • s는 알파벳과 공백문자(" ")로 이루어져 있습니다.
  • 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )
입출력 예sreturn
"3people unFollowed me" "3people Unfollowed Me"
"for the last week" "For The Last Week"

풀이코드

더보기
import java.lang.*;

class Solution {
    public String solution(String s) {
        StringBuilder sb = new StringBuilder(s.toLowerCase());
        sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); // 첫번째 문자부터 대문자로 변환
        
        for(int i=1; i<s.length(); i++) {
            if(sb.charAt(i-1) == ' ') { // 공백 뒤에 오는 문자면 대문자로 변환
                sb.setCharAt(i, Character.toUpperCase(sb.charAt(i)));
            }
        }
        
        return sb.toString();
    }
}

풀이방법

문자열을 JadenCase로 변환해주는 문제이다. 

 

  1. StringBuilder에 매개변수로 받은 문자열을 소문자로 변환하여 저장한다.
  2. 문자열의 길이만큼 반복을 돌리고 공백 뒤에 오는 문자가 있으면 대문자로 변환하여 저장해준다.

'알고리즘 > Programmers' 카테고리의 다른 글

[Programmers] 숫자의 표현  (0) 2021.12.02
[Programmers] N개의 최소공배수  (0) 2021.12.01
[Programmers] 피보나치 수  (0) 2021.11.30
[Programmers] 최솟값 만들기  (0) 2021.11.30
[Programmers] 최댓값과 최솟값  (0) 2021.11.30