문제

문제

처음 작성한 코드

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자리 숫자인지를 판별하기 위해 사용한 것이다.

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

'Programmers' 카테고리의 다른 글

나누어 떨어지는 숫자 배열  (0) 2020.12.29
수박수박수박수박수박수?  (0) 2020.12.29
문자열 내 마음대로 정렬하기  (0) 2020.12.29
서울에서 김서방 찾기  (2) 2020.12.28
가운데 글자 가져오기  (0) 2020.12.28