코딩테스트/BOJ

[BOJ] 1013 Contact - JAVA

5월._. 2023. 6. 4.
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

댓글