본문 바로가기
백준/5001 - 10000

[백준] 9996번 : 한국이 그리울 땐 서버에 접속하지(JAVA)

by lms0806 2021. 8. 20.
728x90
반응형

https://www.acmicpc.net/problem/9996

 

9996번: 한국이 그리울 땐 서버에 접속하지

총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다.

www.acmicpc.net

풀이

matches를 이용하면 간단하게 풀 수 있습니다.

matches : 정규식을 이용한 비교

 

String 변수를 선언 후 한줄을 입력받고 *이 있을 시 "(.*)"을 입력해줍니다.

그러면 matches에 비교할 수 있게 되는 문자열이 만들어지고 size만큼 문자열을 입력받으면서 체크해줍니다.

 

소스코드

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 size = Integer.parseInt(br.readLine());
		
		String s = "";
		for(char ch : br.readLine().toCharArray()) {
			s += ch == '*' ? "(.*)" : ch;
		}
		
		StringBuilder sb = new StringBuilder();
		while(size --> 0) {
			sb.append(br.readLine().matches(s) ? "DA" : "NE").append("\n");
		}
		System.out.print(sb);
	}
}
728x90
반응형

'백준 > 5001 - 10000' 카테고리의 다른 글

[백준] 9063번 : 대지(JAVA)  (0) 2021.10.27
[백준] 5602번 : 問題1(JAVA)  (0) 2021.08.21
[백준] 1213번 : HTML(JAVA)  (0) 2021.08.17
[백준] 9342번 : 염색체(JAVA)  (0) 2021.08.09
[백준] 6721번 : Backward numbers(JAVA)  (0) 2021.08.02

댓글