본문 바로가기

코딩테스트 연습(with java)/프로그래머스

프로그래머스<이상한 문자 만들기> 다시 풀기

import java.util.*;
class Solution {
    public String solution(String s) {
        //답으로 출력할 문자들을 이어붙이기 위해 StringBuffer()생성
        StringBuffer sb = new StringBuffer();
        //문자열을 배열로 생성(char형) 
        String[] splitS = s.split(" ");
        
        for(int i=0; i<splitS.length; i++){
            
            
            for(int j=0; j<splitS[i].length(); j++){
                if(j%2==0){
                        char C = splitS[i].charAt(j);
                        String A = String.valueOf(C);
                        A = A.toUpperCase();
                        sb.append(A);
                }                
                else{
                    char N = splitS[i].charAt(j);
                    String B = String.valueOf(N);
                    sb.append(B);
                }
                
        
            }
            if(i!=splitS.length-1){
                sb.append(" ");
            }
        }
        String answer = sb.toString();
        return answer;
       
    }
}
 

차선책으로 toUpperCase()와 toLowerCase()를 사용하여 풀어보았다. 이전 코드에서   Ascii = Ascii-32가 문제였을거 같다는 추측이 있었기 때문이다. 이렇게 코드를 고쳐서 실행을 돌리니 테스트 케이스는 당연히 통과 되었지만, 또 제출하기에서 온전히 맞았다는 판정이 나오지 않았다. 

그래서 IBM에 다니다 온 군대에서 만난 형에게 물어보았는데, 틀린 부분이 딱히 없는거 같다고 하였다. 나중에 조금 더 실력이 성장한다면 허점을 다시 볼 수 있을거라는 기대를 가져본다.