더북(TheBook)

문제 풀이

우선 문자열이 숫자로만 구성되어야 하므로 [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;
    }
}

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

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