백준 문제풀이

9012. 괄호 (자바, Java)

뮤츠 2022. 11. 5. 21:30

스택을 써도되고, 큐를 써도 되고 사실 안쓰고 count 변수 선언해도 별 상관은 없다.

한글자씩 순서대로 따져보면서 ( 가 나오면 스택에 쌓고, )가 나오면 스택에서 빼는데, 뺄 값이 없으면 NO를 출력, 완주하면 YES를 출력해준다. 출력값 대소문자 구분 못해서 한번 틀림.

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;

public class Main {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int t = Integer.parseInt(br.readLine());
		StringBuilder sb = new StringBuilder();
		
		for (int i=0; i<t; i++) {
			String str = br.readLine();
			boolean vps = true;
			Stack <String> stack = new Stack<>();
			for (int j=0; j<str.length(); j++) {
				if (str.charAt(j)=='(') {
					stack.push("(");
				} else if (str.charAt(j)==')') {
					if (stack.empty()) {
						vps = false;
						break;
					} else {
						stack.pop();
					}
				}
			}
			if (vps && stack.empty()) {				
				sb.append("YES\n");
			} else {				
				sb.append("NO\n");
			}
		}
		System.out.println(sb);
	}

}

'백준 문제풀이' 카테고리의 다른 글

1406. 에디터 (자바, Java)  (0) 2022.11.05
1874. 스택 수열 (자바, Java)  (0) 2022.11.05
9093. 단어 뒤집기 (자바, Java)  (0) 2022.11.05
10828. 스택 (자바, Java)  (0) 2022.11.05
2004. 조합 0의 개수  (0) 2022.10.29