2. 조건문을 사용하지 않고 정규표현식 사용

    아니면 문자열 길이를 확인하여 숫자인지 판단이 가능한 방법도 있습니다.

     

    전체 코드

    4장/문자열_다루기_기본_정규표현식.py

    import re
    def solution(s):
        return bool(re.match("^(\d{4}|\d{6})$", s))

    주어진 문자열이 숫자 4개(\d{4}) 또는 6개(\d{6})인지 판단하는 그룹을 생성하여 문자열을 검사하는 방식입니다. 이런 식으로 그룹을 생성하여 if 문으로 검사할 만한 내용들을 정규표현식에 담아 전부 가져오는 것이 가능합니다.

     

    1번과 2번 방법 비교

    두 방법 모두 정규표현식을 사용하여 훌륭하게 문자열을 검사했으나 둘 중 어떤 방법이 더 좋은지도 비교해봅시다. 실행 시간 기준으로 보겠습니다.

    ▼ 표 4-4 1번과 2번 방법 비교

    정규표현식 사용

    문자열 사용

    테스트 1 > 통과 (0.20ms, 10.4MB)

    테스트 2 > 통과 (0.13ms, 10.3MB)

    테스트 3 > 통과 (0.13ms, 10.2MB)

    테스트 4 > 통과 (0.13ms, 10.2MB)

    테스트 5 > 통과 (0.12ms, 10.3MB)

    테스트 1 > 통과 (0.07ms, 10.1MB)

    테스트 2 > 통과 (0.00ms, 10.1MB)

    테스트 3 > 통과 (0.11ms, 10.3MB)

    테스트 4 > 통과 (0.07ms, 10.3MB)

    테스트 5 > 통과 (0.00ms, 10.1MB)

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