백준

백준 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);
  }
}