백준/정규 표현식
2671 잠수함식별
have a good time
2022. 6. 28. 15:07
1. 풀이
다른 사람 블로그를 참고했다.
문제에서 식별하고자 하는 잠수함의 엔진소리 패턴은 다음과 같다.
(100~1~|01)~
그러면 이에 대한 정규표현식 패턴을 만들면 다음과 같다.
^(100+1+|01)+$
여기에 사용된 정규표현식 문법을 나타내면 다음과 같다.

그리고 코드에 보면 입력 문자열과 패턴이 일치하는지 여부를 mathes() 메서드로 확인하고 있다.
matches() 메서드 : 대상 문자열과 패턴이 일치하는 경우 true 반환
2. 최종 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
String pattern = "^(100+1+|01)+$";
if(input.matches(pattern)) {
System.out.println("SUBMARINE");
}else {
System.out.println("NOISE");
}
}
}
참고 블로그 :
https://naekang.tistory.com/173
[Baekjoon/백준] 2671 JAVA
문제 출처: https://www.acmicpc.net/problem/2671 2671번: 잠수함식별 입력에 들어있는 스트링을 읽고, 이것이 잠수함의 엔진소리를 나타내는 스트링인지 아니면 그냥 물속의 잡음인지를 판정한 후, 잠수함
naekang.tistory.com
[Java] 정규표현식 사용법 및 예제 - Pattern, Matcher
자바에서 정규표현식(Regular Expression)'을 사용해보자. 1. 정규표현식(Regular Expression) 정규표현식 혹은 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용되는 언어다. 정규 표현식은
hbase.tistory.com