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);
}
}
'백준' 카테고리의 다른 글
백준 1788 피보나치 수의 확장(Java) (0) | 2023.02.05 |
---|---|
백준 9659 돌 게임 5(Java) (0) | 2023.02.05 |
백준 2012 등수 매기기(Java) (0) | 2023.02.05 |
백준 7795 먹을 것인가 먹힐 것인가(Java) (0) | 2023.02.04 |
백준 18310 안테나(Java) (0) | 2023.02.04 |