ABOUT ME

Today
Yesterday
Total
  • [프로그래머스] [JAVA] [Level 2] [연습문제] JadenCase 문자열 만들기
    PROGRAMMERS/연습문제 2022. 9. 9. 02:03



    1. 문자열에 더해주기

    import java.util.*;
    
    class Solution {   
        public String solution(String s) {
            
            String answer = "";
              
            // 모든 단어를 소문자로 바꾸고 한 문자씩 짤라서 배열로 초기화시켜주기
            String arr[] = s.toLowerCase().split("");
            answer += Character.toUpperCase(s.charAt(0));
            
            
            for(int i=1; i<arr.length; i++){
                if(arr[i].equals(" ")){
                     answer += " ";                
                } else if(arr[i-1].equals(" ")){
                     answer += arr[i].toUpperCase();
                } else {
                     answer += arr[i];
                }
        
            }
            
            return answer;
        }
    }

     

    2. StringBuilder 사용

    import java.util.*;
    
    class Solution {   
        public String solution(String s) {
            
            StringBuilder sb = new StringBuilder();
            
            String answer = "";
              
            // 모든 단어를 소문자로 바꾸고 한 문자씩 짤라서 배열로 초기화시켜주기
            String arr[] = s.toLowerCase().split("");
            
            // 맨 처음 단어의 문자만 미리 대문자로 바꿔주기
            sb.append(Character.toUpperCase(s.charAt(0)));
            
            // 두 번째 문자부터 공백일 경우 공백을 넣어주고
            // 전 문자(i-1)가 공백일 경우 현재 인덱스의 문자를 대문자로 바꿔줌
            // 그 외의 경우 그대로 append
            for(int i=1; i<arr.length; i++){
                if(arr[i].equals(" ")){
                    sb.append(" ");                
                } else if(arr[i-1].equals(" ")){
                    sb.append(arr[i].toUpperCase());
                } else {
                    sb.append(arr[i]);
                }    
            }
    
            answer = sb.toString();
            
            return answer;
        }
    }

    1. 문자열에 더해주기

    테스트 1 통과 (9.65ms, 77.8MB)
    테스트 2 통과 (9.67ms, 77.8MB)
    테스트 3 통과 (9.13ms, 67.7MB)
    테스트 4 통과 (10.27ms, 77.6MB)
    테스트 5 통과 (12.80ms, 79MB)
    테스트 6 통과 (11.93ms, 81.6MB)
    테스트 7 통과 (10.02ms, 85.9MB)
    테스트 8 통과 (11.49ms, 75.3MB)
    테스트 9 통과 (9.92ms, 76.9MB)
    테스트 10 통과 (10.95ms, 74.1MB)
    테스트 11 통과 (12.19ms, 78.1MB)
    테스트 12 통과 (11.72ms, 75.5MB)
    테스트 13 통과 (10.80ms, 78.5MB)
    테스트 14 통과 (11.60ms, 83.7MB)
    테스트 15 통과 (9.92ms, 81.7MB)
    테스트 16 통과 (13.14ms, 75.4MB)
    테스트 17 통과 (10.90ms, 80.8MB)
    테스트 18 통과 (8.79ms, 86.9MB)

     

    2. StringBuilder 사용 

    테스트 1 통과 (0.19ms, 72.1MB)
    테스트 2 통과 (0.26ms, 75.8MB)
    테스트 3 통과 (0.30ms, 73.8MB)
    테스트 4 통과 (0.30ms, 73.1MB)
    테스트 5 통과 (0.45ms, 72.9MB)
    테스트 6 통과 (0.33ms, 76.4MB)
    테스트 7 통과 (0.28ms, 76.9MB)
    테스트 8 통과 (0.20ms, 74.8MB)
    테스트 9 통과 (0.27ms, 73.1MB)
    테스트 10 통과 (0.12ms, 73.7MB)
    테스트 11 통과 (0.41ms, 77.7MB)
    테스트 12 통과 (0.29ms, 83MB)
    테스트 13 통과 (0.26ms, 76.1MB)
    테스트 14 통과 (0.32ms, 72.5MB)
    테스트 15 통과 (0.42ms, 73.3MB)
    테스트 16 통과 (0.25ms, 86.8MB)
    테스트 17 통과 (0.20ms, 83.9MB)
    테스트 18 통과 (0.15ms, 75.5MB)

    • Char 형 대문자, 소문자 변환 Character.toUpperCase('char'), Character.toLowerCase('char')

    댓글

Designed by Tistory.