algorithm/문제 풀이

99클럽 코테 스터디 14일차 TIL - 프로그래머스 JadenCase 문자열 만들기

ssoheeh 2024. 4. 14. 19:14

공백문자가 연속으로 나올 수 있고 맨 앞이나 뒤에도 나올 수 있기 때문에 처음에 그냥 split 메서드 이용해서 푸니까 런타임 에러 발생

StringTokenizer 이용

String s= "this-is-sentence";
StringTokenizer st = new StringTokenizer(s, "-", true);
while(st.hasMoreTokens()){
	System.out.println(st.nextToken());
}
/***
this
-
is
-
sentence
***/

 

 

import java.io.*;
import java.util.*;

class Solution {
    public String solution(String s) {
        String answer = "";
        //String s = s.replaceAll(" ",".");
        StringTokenizer st = new StringTokenizer(s, " ",true);
        StringBuilder sb = new StringBuilder();
        while(st.hasMoreTokens()){
            String word = st.nextToken();
            if(word.charAt(0)==' '){
                sb.append(" ");
                continue;
            }
            if(word.length()>=1){
                char c = word.charAt(0);
            if(c>='0'&&c<='9'){
                sb.append(c);
               
            }else{
                sb.append(String.valueOf(c).toUpperCase());
                
            }
                if(word.length()>1){
            String sub = word.substring(1, word.length()).toLowerCase();
            sb.append(sub);
               
                }
            }
            //System.out.println(st.nextToken());
        }
        
        
        answer = sb.toString();
        
        return answer;
    }
}

 

 

오늘의 회고

  • 이제 자바가 아닌 C++로 다시 돌아가서 연습해야되니까 더 열심히 하자. 자바하느라 잊은 감을 빠른 시일 내로 찾자
  • 내일(4/15) 학습 예정 : 스프링부트 로그인 관련 공부