> 개발-IT-인터넷/> JAVA

[해커랭크(HackerRank) JAVA 풀이] - Pattern Syntax Checker

jini:) 2021. 10. 1. 17:43
728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Strings > Pattern Syntax Checker
 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

 

Regex를 사용하여 텍스트에서 패턴을 쉽게 일치시키거나 검색할 수 있습니다. 패턴을 검색하기 전에 잘 정의된 구문을 사용하여 패턴을 지정해야 합니다.

이 문제에서는 패턴이 주어집니다. 주어진 패턴의 구문이 유효한지 확인해야 합니다.

Note : 이 문제에서 정규식은 Pattern.compile 메서드를 사용하여 컴파일할 수 있는 경우에만 유효합니다.

 

Input Format

입력의 첫 번째 줄에는 테스트 케이스의 수를 나타내는 정수 N이 포함됩니다. 다음 N 줄에는 정규식의 패턴을 나타내는 출력 가능한 모든 문자의 문자열이 포함됩니다.

 

Output Format

각 테스트 케이스에 대해 주어진 패턴의 구문이 정확하면 Valid를 출력하세요. 그렇지 않으면 Invalid를 출력합니다. 따옴표는 출력하지 마세요.

 

 

Sample Input

3
([A-Z])(.+)
[AZ[a-z](a-z)
batcatpat(nat

 

Sample Output

Valid
Invalid
Invalid

 

 

Code 

import java.util.Scanner;
import java.util.regex.*;

public class Solution
{
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		int testCases = Integer.parseInt(in.nextLine());
        
		while(testCases>0){
			String pattern = in.nextLine();
			//Write your code
			try {
				Pattern.compile(pattern);
				System.out.println("Valid");
			} catch (PatternSyntaxException e) {
				System.out.println("Invalid");
			}
			testCases--;
		}
	}
}

 

compile(String regex)
주어진 정규표현식으로 패턴을 만든다.

 

 

 

개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.

 

 

 

728x90
반응형