본문 바로가기

Coding Test/프로그래머스

[프로그래머스/자바] 문자열 다루기 기본

풀이1)

class Solution {
    public boolean solution(String s) {
        if (s.length() != 4 && s.length() != 6) return false;
        
        char[] arr = s.toCharArray();
        
        for (char c : arr) {
            if ((c - '0') > 9) return false;
        }
        
        return true;
    }
}

문자열 s의 길이가 4 혹은 6이라는 제한 조건을 못 봐서 한 번 실패했었다...ㅎㅎ

지문을 한 글자 한 글자 제대로 읽는 습관을 들여야겠다.


풀이2)

class Solution {
    public boolean solution(String s) {
        if (s.length() != 4 && s.length() != 6) return false;
        
        for (char c : s.toCharArray()) {
            if (!Character.isDigit(c)) return false;
        }
        
        return true;
    }
}

풀이3) 정규표현식 이용

class Solution {
    public boolean solution(String s) {
        return s.matches("[0-9]{4}|[0-9]{6}");
    }
}