Coding Test/프로그래머스

19 Java - 문자열 다루기 기본

so.so 2021. 7. 22. 17:13

isDigit : 문자열 판단

ex) Character.isDigit(s.charAt(i))

 

문제 설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

 

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

 

입출력 예

s return
"a234" false
"1234" true

 

 

class Solution {
    public boolean solution(String s) {
        boolean answer = true;
        
        //문자열 s의 길이가 4나 6이고
        //숫자로만 구성되어있는지 확인해주기
        
        for (int i = 0; i < s.length(); i++) {
            
            //isDigit : 숫자 판단해주는 함수
            if (!Character.isDigit(s.charAt(i))) {
                answer = false;
            }
        }
        
        return answer;
    }
}

-> 이렇게 작성하였는데, 정확성이 87.5로 떴다..

무엇이 문제인건가!!!!!!!!!!

----

class Solution {
    public boolean solution(String s) {
        boolean answer = true;
        
        //문자열 s의 길이가 4나 6이고
        //숫자로만 구성되어있는지 확인해주기
        
        if(s.length() == 4 || s.length() == 6){
            for (int i = 0; i < s.length(); i++) {

                //isDigit : 숫자 판단
                if (!Character.isDigit(s.charAt(i))) {
                    answer = false;
                }
            }    
        }else{
            answer = false;
        }
        return answer;
    }
}

-> s의 문자열 길이 제한이 있었는데, 그 부분을 빼먹어서 문제였던...