728x90
문제
https://www.acmicpc.net/problem/1013
1013번: Contact
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 전파를 표현하는, { 0, 1 }만으로 이루어진 문자열이 공백 없이 주어진다. 문자열 길이는 (1 ≤
www.acmicpc.net
해설
문제에서부터 정규표현식을 사용해줌으로써 자바의 String 내부에 있는 정규표현식을 사용해 쉽게 해결할 수 있었습니다.
유사한 문제에 대한 접근법으로 정규표현식을 사용할 수 있음을 알아 학습하는 계기가 되었습니다.
주의점
- 정규 표현식을 써보자
코드
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));
int tc = Integer.parseInt(br.readLine());
for (int i = 0; i<tc;i++){
String input = br.readLine().trim();
String ptn = "(100+1+|01)+";
System.out.println(input.matches(ptn)?"YES":"NO");
}
}
}
728x90
'[IT] 코딩테스트 > [문제 및 풀이] 백준' 카테고리의 다른 글
[백준] 2170 선 긋기 / 자바(Java) (0) | 2023.11.17 |
---|---|
[백준] 1074 Z / 자바(Java) (0) | 2023.11.11 |
[백준] 1309 동물원 / 자바(Java) (0) | 2023.11.10 |
[백준] 17298 오큰수 / 자바(Java) (0) | 2023.11.08 |
[백준] 14501 퇴사 / 자바(Java) (0) | 2023.08.17 |