Programmers

문자열 다루기 기본

h32j00 2020. 12. 28. 01:44

문제

문제

처음 작성한 코드

def solution(s):
    answer = True
    a = 0
    if len(s)==4 or len(s)==6:
        for i in s:
            if i!='0' and i!='1' and i!='2' and i!='3' and i!='4' and i!='5' and i!='6' and i!='7' and i!='8' and i!='9':
                a = 1
        if a!=0:
            answer=False
    else: answer=False
    return answer

 

코드 리뷰 후

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

 

깨달은 점

정규식을 공부해야겠다.

위 문제에서 사용한 정규식은 \d{4}|\d{6} 이다.

\d는 0~9까지의 숫자를 의미한다. {4}는 4번 반복, 즉 4자리 숫자인지 혹은 6자리 숫자인지를 판별하기 위해 사용한 것이다.

파이썬의 세계는 신기하다.. 푸헹~