STUDY/Algorithm

[백준] 2671 잠수함 식별 python

sinawi95 2021. 5. 30. 18:41
728x90

https://www.acmicpc.net/problem/2671

 

2671번: 잠수함식별

입력에 들어있는 스트링을 읽고, 이것이 잠수함의 엔진소리를 나타내는 스트링인지 아니면 그냥 물속의 잡음인지를 판정한 후, 잠수함의 엔진 소리에 해당하는 스트링이면 "SUBMARINE"을 출력하고

www.acmicpc.net

import re

s = input()
p = re.compile('(100+1+|01)+')
m = p.fullmatch(s)
if m:
    print("SUBMARINE")
else:
    print("NOISE")

정규표현식을 사용해서 푸는 문제이다

조건문을 사용해서 풀었으나 답이 나오지 않아 검색을 해서 풀었다.

파이썬 에도 정규표현식을 사용할수 있는 내장함수가 있었고 이를 사용해서 쉽게 풀수있었다.

match, search, fullmatch 등을 사용하면 풀수 있는데 match나 search를 사용하면 10011001 일때 10011로 인식이 되어 정확한 답을 내놓지 못한다

길이와 딱 맞게 찾으려면 fullmatch를 사용해야했다.