어흥
[백준 2671] 잠수함식별 (C++, Java) 본문
728x90
반응형
문제 링크: www.acmicpc.net/problem/2671
1. 주의할 점
- 오토마타 혹은 정규표현식에 대해 알고 있으면 편하다
2. 구현
- 정규표현식의 패턴을 설정한다
- 입력받은 문자열이 정규표현식의 패턴을 만족한다면 잠수함을, 아니라면 잡음을 출력한다
[C++]
#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main() {
string str;
cin>>str;
string ptn = "(100+1+|01)+";
if(regex_match(str,regex(ptn))) cout <<"SUBMARINE";
else cout<<"NOISE";
return 0;
}
[JAVA]
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Pattern;
public class Main {
public static void main (String[] args) throws java.lang.Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine().trim();
String ptn = "(100+1+|01)+";
System.out.println(str.matches(ptn) ? "SUBMARINE": "NOISE");
}
}
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 2003] 수들의 합 2 (C++, Java) (0) | 2021.03.31 |
---|---|
[백준 1789] 수들의 합 (C++) (0) | 2021.03.31 |
[백준 1013] Contact (C++, Java) (0) | 2021.03.30 |
[백준 13144] List of Unique Numbers (C++) (0) | 2021.03.26 |
[백준 11000] 강의실 배정 (C++) (0) | 2021.03.26 |
Comments