백준
백준 9996 한국이 그리울 땐 서버에 접속하지(Java)
Park DJ
2023. 2. 5. 03:00
https://www.acmicpc.net/problem/9996
9996번: 한국이 그리울 땐 서버에 접속하지
총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다.
www.acmicpc.net
해석 및 팁
이 문제는 substring을 활용하면 쉽게 풀 수 있습니다. 다만 주의할 점은 substring을 사용할 때 입력값이 패턴값보다 작으면 런타임에러가 발생하므로 예외적으로 처리해주어야 합니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int n = sc.nextInt();
String p = sc.next();
String l = p.substring(0, p.indexOf("*"));
String r = p.substring(p.indexOf("*") + 1);
for(int i = 0; i < n; i++) {
String str = sc.next();
if(str.length() < l.length() + r.length()) sb.append("NE").append("\n");
else {
if(str.substring(0, l.length()).equals(l) && str.substring(str.length() - r.length()).equals(r)) sb.append("DA").append("\n");
else sb.append("NE").append("\n");
}
}
System.out.println(sb);
}
}