백준/5001 - 10000
[백준] 9996번 : 한국이 그리울 땐 서버에 접속하지(JAVA)
lms0806
2021. 8. 20. 02:09
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
반응형