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) |