728x90
1. 문제
1013번: Contact
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 전파를 표현하는, { 0, 1 }만으로 이루어진 문자열이 공백 없이 주어진다. 문자열 길이는 (1 ≤
www.acmicpc.net
최근 김동혁 박사는 아레시보 전파망원경에서 star Vega(직녀성) 으로부터 수신한 전파 기록의 일부를 조사하여 그 전파들의 패턴을 분석하여 아래와 같이 기록하였다.
(100+1+ | 01)+
김동혁 박사는 다양한 전파 기록 중에서 위의 패턴을 지니는 전파를 가려내는 프로그램을 필요로 한다. 이를 수행할 수 있는 프로그램을 작성하라.
2. 풀이
문제에서 준 것 그대로 정규표현식을 사용하면 된다. String에 matches라는 메서드를 이용했다.
import java.io.*;
public class BOJ_1013_Contact {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(in.readLine());
StringBuilder sb = new StringBuilder();
for(int i=0;i<N;i++){
if(in.readLine().matches("(100+1+|01)+")) sb.append("YES\n");
else sb.append("NO\n");
}
System.out.print(sb);
}
}
3. 결과
'코딩테스트 > BOJ' 카테고리의 다른 글
[BOJ] 4358 생태학 - JAVA (0) | 2023.06.06 |
---|---|
[BOJ] 2096 내려가기 - JAVA (0) | 2023.06.05 |
[BOJ] 5582 공통 부분 문자열 - JAVA (0) | 2023.06.04 |
[BOJ] 25206 너의 평점은 - JAVA (1) | 2023.06.03 |
[BOJ] 5052 전화번호 목록 - JAVA (0) | 2023.06.02 |
댓글