기본 콘텐츠로 건너뛰기

코딩 테스트 - JadenCase

이건 진짜 맨 끝 공백 만든 사람 때문에 시간 오래 걸림...
원래 문자열 / 맨 끝 문자열 따로 처리 해 주면 결과값이 같은데도 통과가 안 되어서,
굳이 전체에 " " 를 해주고, 맨 끝 문자열을 따로 처리 해 줌.

class Solution {
    public String solution(String s) {
        //s = "3people unFollowed me"
        
        String answer = "";        
        StringBuilder sb = new StringBuilder();
        
        String [] arr = s.toLowerCase().split(" "); //공백 split 해서 배열로 만들면서 소문자로 바꿈

        for(int i = 0; i < arr.length; i++){
            String temp = arr[i];
            
            //보통 문자열
            if(temp.length() != 0){                
                sb.append(temp.substring(0,1).toUpperCase());
                sb.append(temp.substring(1,temp.length()));
                sb.append(" ");
            }else if(temp.length() == 0){
                //만약에 길이가 0이면 공백을 추가해줘야 함
                sb.append(" ");
            }
                
            
        }
        if(!String.valueOf(s.charAt(s.length()-1)).equals(" ")){
            //원래 받아온 문자열 맨 끝에 공백이 있으면 맨 끝 공백 처리 안 함
            sb.deleteCharAt(sb.lastIndexOf(" "));
        }
        
        
        //System.out.println(sb.toString());
        answer = sb.toString();
        
        return answer;
    }
}









오... 남의 코드...

class Solution {
  public String solution(String s) {
        String answer = "";
        String[] sp = s.toLowerCase().split("");
        boolean flag = true;

        for(String ss : sp) {
            answer += flag ? ss.toUpperCase() : ss;
            flag = ss.equals(" ") ? true : false;
        }

        return answer;
  }
}

똑똑박사!



댓글