Old/Algorithms

[JAVA] 백준 9012번: 괄호

유뱅유뱅뱅 2020. 7. 8. 21:50

https://www.acmicpc.net/problem/9012

 

9012번: 괄호

문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)��

www.acmicpc.net

주어진 입력인 괄호 문자열이 VPS인지 확인하는 문제임

Stack을 써서 구현 가능 하지만 괄호 갯수를 계산하는 방법으로 구현함

import java.util.Scanner;

public class P9012 {
	
	public static String isValidPS(String ps) {
		
		String result = "";
		int len = ps.length();
		int cnt = 0;
		
		for(int i=0; i<len; i++)
		{
			if(ps.charAt(i) == '(')
				cnt++;
			else
				cnt--;
			
			if(cnt<0)
			{
				result = "NO";
				break;
			}
		}
		
		if(cnt==0)
			result = "YES";
		else
			result = "NO";
		
		return result;
	}

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int t = sc.nextInt();
		
		while(t-- > 0) {
			System.out.println(isValidPS(sc.next()));
		}
	}

}