문제 풀이

    우선 문자열이 숫자로만 구성되어야 하므로 [0-9]를 이용할 수 있습니다. 여기에 길이가 4 또는 6이라는 조건을 추가하면 [0-9]{4}|[0-9]{6}과 같은 정규표현식이 만들어집니다. 이를 이용하여 문자열을 검사하고 그 결괏값을 반환하면 됩니다.

     

    전체 코드

    4장/문자열_다루기.java

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

    이 문제를 정규표현식을 사용하지 않고 다음과 같이 내장 라이브러리만 이용하여 구현할 수도 있습니다.

     

    전체 코드

    4장/문자열_다루기_라이브러리.java

    public 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;
        }
    }

    이처럼 정규표현식을 이용하면 여러 줄에 걸친 조건 검사를 매우 간단하게 처리할 수 있습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.