문제
알고리즘
- 정규 표현식을 지원하는 re 모듈을 통해 문제를 수행한다
- 반복문을 통해 테스트 케이스를 확인한다.
- re.compile() 함수를 통해 () 안에 패턴을 컴파일한다.
- .fullmatch() 함수를 통해 컴파일한 패턴과 현재 테스트 케이스가 매치되는지 확인한다.
- 매치가 되면 테스트 케이스는 제시한 패턴으로 'YES'를 출력하고 아니라면 'NO'를 출력한다.
코드
import sys
import re # 정규 표현식을 지원하는 re 모듈
n = int(sys.stdin.readline())
# 반복문을 통해 테스트 케이스를 확인
for _ in range(n):
t = str(sys.stdin.readline().rstrip("\n"))
pattern = re.compile('(100+1+|01)+') # re.compile() 함수를 통해 ()안 패턴을 컴파일 한다.
res = pattern.fullmatch(t) # pattern과 t가 매치되는지 확인
# 매치가 되면 테스트 케이스는 제시한 패턴인 것이다.
if res:
print('YES')
else:
print('NO')
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1251번(파이썬): 단어 나누기 (0) | 2022.01.12 |
---|---|
[baekjoon] 백준 2671번(파이썬): 잠수함식별 (0) | 2022.01.11 |
[baekjoon] 백준 9996번(파이썬): 한국이 그리울 땐 서버에 접속하지 (0) | 2022.01.09 |
[baekjoon] 백준 1755번(파이썬): 숫자놀이 (0) | 2022.01.08 |
[baekjoon] 백준 1969번(파이썬): DNA (0) | 2022.01.07 |