CodingTest/Baekjoon

[baekjoon] 백준 1013번(파이썬): Contact

JunJangE 2022. 1. 10. 12:14

문제

 

1013번: Contact

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 전파를 표현하는, { 0, 1 }만으로 이루어진 문자열이 공백 없이 주어진다. 문자열 길이는 (1 ≤

www.acmicpc.net

알고리즘

- 정규 표현식을 지원하는 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

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com