[프로그래머스,Level 1] 문자열 다루기 기본(JAVA 구현)
코테/프로그래머스(Programmers)

[프로그래머스,Level 1] 문자열 다루기 기본(JAVA 구현)

반응형

- 첫 풀이

  처음 풀 때, 문제를 제대로 읽지 않아 '문자열 s의 길이가 4 혹은 6이고'  이 부분을 간과한 채 숫자로만 구성돼있는지 여부만을 확인하여 몇몇의 테스트 케이스가 실패하였다. 또한, 숫자 중 0을 왜인지 모르게 고려하지 않아 몇 번 더 실패하였다.

class Solution {
    public boolean solution(String s) {
        boolean answer = true;
        
        // 문자열 길이를 고려하지 못했다.
        for(int i=0;i<s.length();i++){
        	// 숫자 0을 고려하지 못했다.
            if(s.charAt(i)-'0'>=1 && s.charAt(i)-'0'<10) continue;
            else return false;
        }
        return answer;
    }
}

 

- 정답 풀이

  위의 사항들을 고려해 다시 풀어 정답처리를 받을 수 있었다.

class Solution {
    public boolean solution(String s) {
        boolean answer = true;
        
        // 1. 문자열의 길이가 4와 6이 아니라면 false.
        if(s.length() != 4 && s.length() != 6) return false;
        // 2. 문자열 탐색.
        for(int i=0;i<s.length();i++){
            // 2-1. 해당 문자가 0~9에 속한다면 continue.
            if(s.charAt(i)-'0'>=0 && s.charAt(i)-'0'<10) continue;
            // 2-2. 속하지 않는다면 false.
            else return false;
        }
        
        // 3. 여기까지 도달했다면 true.
        return answer;
    }
}

 

반응형