Algorithm

11.17.(목) Programmers Java Lv1 문자열 다루기 기본

콜라든포비 2022. 11. 17. 22:53

문자열 다루기 기본

문제 설명

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

 

제한 조건

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

입력값

s : "a234", "1234"

return : false, true

 

Solution

class Solution {
    public boolean solution(String s) {
        boolean answer = true;
        char c;

        if(s.length()==4 || s.length()==6){
            for(int i=0; i<s.length(); i++){
                c = s.charAt(i);
                if(!(c>=48 && c<=57)) {
                    answer=false;
                    break;
                }
            }
        } else {
            answer = false;
        }
        
        
        return answer;
    }
}

처음에 솔루션을 작성할때 조건문을 if(c<48 && c>57)으로 적었는데 계속 실패했다. 같이 스터디하는 분 중 나와 거의 같은 형태로 솔루션 작성하신분을 보니 조건문을 if(!(c>=48 && c<=57))로 적어서 성공하셨다고 했다. 원인은 더 알아봐야할 것 같다.