gimmickbutreal

[프로그래머스/자바] JadenCase 문자열 만들기 - substring 본문

Algorithm/Java

[프로그래머스/자바] JadenCase 문자열 만들기 - substring

isshosng 2023. 7. 25. 18:26

문제 설명

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건

  • s는 길이 1 이상 200 이하인 문자열입니다.
  • s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.

입출력 예

s return
"3people unFollowed me" "3people Unfollowed Me"
"for the last week" "For The Last Week"

 

풀이과정

1. split 메서드를 사용해 여러 개의 문자열로 나눔

2. substring을 사용해 문자열을 자름 (정처기 python 단골 문제처럼)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.util.*;
 
class Solution {
    public String solution(String s) {
        String answer = "";
        String[] arr = s.split(" ");
        
 
        for(int i=0; i<arr.length; i++) {
            String now = arr[i];
 
            if(arr[i].length() == 0) {
                answer += " "// 문자가 없을 경우 공백
            } 
            // 문자가 있다면
            else {
            
                answer += now.substring(01).toUpperCase();
                answer += now.substring(1, now.length()).toLowerCase();
                answer += " ";
            }
            
        }
        
        if(s.substring(s.length()-1, s.length()).equals(" ")){
            return answer;
        }
        
        // 맨 마지막 " " 제거 후 반환
        return answer.substring(0, answer.length()-1);
    }
 
}
cs

 

 

 

p.s. 다른 분들 풀이를 보니까 StringTokenizer를 사용하는 방안도 좋아보인다.