TIL 2023-01-27 항해99 D+19

황원준·2023년 1월 27일

hanghae99

목록 보기
18/24

1. 문제점

2. 시도 해본 것들

class Solution {
    public String solution(String s) {
      
        String answer = "";
        
        String[] str = s.split("");
        
        int index = 0;
        
        for(int i = 0; i < str.length; i++) {
            
          
            if(index % 2 == 0) {
                str[i] = str[i].toUpperCase();
                index++;
            }
            
            else if(index % 2 != 0) {                    
                str[i] = str[i].toLowerCase();
                index++;
            }
            
            answer += str[i];
        } 
        
        return answer;
       
    }
}

여기서 오류가 났다 ㅜㅜ 이해가 되질 않았다. 뭔가 처리할거 잘 처리한거 같았는데 이상하게 제출 후 입력하고 유효성 검사 및 정확성 검사에 실패가 떠서 뭔가 당황했다.

3. 해결법

예외처리...역시 문제를 꼭 잘 읽어 봐야한다. 제한사항에서 "첫번째 글자는 0번 인덱스로 보아 짝수 번째 알파벳 처리해야 하고" 문제 상에서 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 즉, 공백도 처리 해야하는 것 이다. 만약 0번 인덱스에서 공백이 생기면 짝수 처리도 해야 하고 공백문자로 구분해야 하는 것이다.

class Solution {
    public String solution(String s) {
      
        String answer = "";
        
        String[] str = s.split("");
        
        int index = 0;
        
        for(int i = 0; i < str.length; i++) {
            
            if(str[i].equals(" ")) { // 공백 처리 해주는 if문
                index = 0;   
            }
            
            else if(index % 2 == 0) {
                str[i] = str[i].toUpperCase();
                index++;
            }
            
            else if(index % 2 != 0) {                    
                str[i] = str[i].toLowerCase();
                index++;
            }
            
            answer += str[i];
        } 
        
        return answer;
       
    }
}

4. 알게 된 점

문제를 끝까지 읽고 이해해야 하고 코드실행 후 된다고 자만하지 말자!!! 우리에겐 유효성과 정확성 검사가 있다라는 것을...

profile
좋은 개발자가 되기 위해 노력 하는 개린이

0개의 댓글