https://www.acmicpc.net/problem/1013
위 문제는 정규식에 관련된 문제인데,
분기를 나눠서 구현으로 풀다가 왠지 정규식과 관련된 헤더가 있을 것 같아서 찾아봤다.
역시나 regex 헤더를 사용하면 되는데, 사용법은 아래 코드를 참고하면 된다.
먼저 regex 변수를 선언하고, 사용하고 싶은 정규식을 입력해준다.
이후 regex_match 메서드를 통해 문자열이 해당 정규식을 만족하면 true, 아니면 false를 반환한다.
📜CODE
#include <bits/stdc++.h>
#include <regex>
using namespace std;
//(100+1+ | 01)+
string s;
bool solve(){
regex pattern("(100+1+|01)+");
return regex_match(s,pattern);
}
int main(){
int t;
cin>>t;
while(t--){
cin>>s;
if(solve()) cout<<"YES";
else cout<<"NO";
cout<<'\n';
}
}
'✏️PS' 카테고리의 다른 글
[알고리즘] - 다익스트라(Dijkstra) 알고리즘 (0) | 2023.11.20 |
---|---|
[플로이드-워셜(Floyd-Warshall)] - BOJ_14938 : 서강그라운드 (0) | 2023.07.12 |
[최대 유량] BOJ_6086 : 최대 유량 (2) | 2023.05.25 |
[에라토스테네스의 체] - BOJ_1929 : 소수 구하기 (0) | 2023.05.19 |
[느리게 갱신하는 세그먼트 트리] - BOJ_10999 : 구간합 구하기 2 (2) | 2023.05.18 |