더북(TheBook)

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)

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