본문 바로가기
알고리즘 & 자료구조/프로그래머스

JadenCase 문자열 만들기

by 신재권 2022. 12. 26.
package programmers;

import java.util.StringTokenizer;

public class JadenCase문자열만들기 {

   // 모든 단어의 첫 문자는 대문자
   // 그 외에 알파벳은 소문자

   public static String solution(String s) {
      StringTokenizer st = new StringTokenizer(s, " ", true);
      StringBuilder sb = new StringBuilder();

      while (st.hasMoreTokens()) {
         String str = st.nextToken();
         if (str.startsWith(" ")) {
            sb.append(str);
            continue;
         }
         
         if (isStartWithNumber(str)) {
            sb.append(str.charAt(0));
         } else if (isStartWithLowerAlpha(str)) {
            sb.append((char)(str.charAt(0) - 32));
         } else{
            sb.append(str.charAt(0));
         }
         
         sb.append(str.substring(1).toLowerCase());
      }

      return sb.toString();
   }

   private static boolean isStartWithLowerAlpha(String str) {
      return str.charAt(0) >= 'a' && str.charAt(0) <= 'z';
   }

   private static boolean isStartWithNumber(String str) {
      return str.charAt(0) >= '0' && str.charAt(0) <= '9';
   }

   public static void main(String[] args) {
      System.out.println(solution("3people  unFollowed me "));
      System.out.println(solution("for the last week"));
      System.out.println(solution("a aa"));
      System.out.println(solution("A Aa"));
   }
}

'알고리즘 & 자료구조 > 프로그래머스' 카테고리의 다른 글

올바른 괄호  (0) 2022.12.28
최솟값 만들기  (0) 2022.12.27
최대값과 최솟값  (0) 2022.12.25
크기가 작은 부분 문자열  (0) 2022.12.24
햄버거 만들기  (0) 2022.12.23