https://www.acmicpc.net/problem/1013
- re 모듈을 이용하여 정규식 패턴을 compile하고 패턴에 해당하는 문자열이 있는지 확인
- 정규식은 그루핑
()
을 이용하고 패턴 확인은re.fullmatch
함수를 이용하였다.re.fullmatch(pattern, string)
는 매칭된 문자가 있을경우 match object를 반환하고 없을 경우None
을 반환한다.
import re
t = int(input())
def solution(compile, s):
a = re.fullmatch('(100+1+|01)+', s)
if a == None:
return "NO"
else:
return "YES"
for i in range(t):
print(solution(input()))
import re
import sys
input = sys.stdin.readline
t = int(input())
c = re.compile('(100+1+|01)+')
for i in range(t):
a = c.fullmatch(input().rstrip())
if a == None:
print("NO")
else:
print("YES")
같은 정규표현식을 매번 compile하는 것은 불필요하므로 조금 수정하였다. 220ms-->200ms
input도 변경했다. 200ms --> 124ms
sys.stdin.readline()
사용 할 때는 rstrip()
을 잊지 말자..^^;;