본문 바로가기
Algorithm/BaekJoon[Java]

백준 9012

by 씨니 2022. 3. 24.
728x90

▶ 9012번 문제 - 괄호

- stack사용

 

▶ 풀이방법

import java.io.*;
import java.util.*;
public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int count = Integer.parseInt(br.readLine());
		Stack<Character> stack = new Stack<>();
		
		for(int i = 0; i < count; i++) {
			String str = br.readLine();
			for(int j = 0; j < str.length(); j++) {
				char c = str.charAt(j);
				if(c == '(') {
					stack.push(c); 
				}else {
					if(stack.isEmpty()) {
						stack.push(c); //값을 넣어주지 않으면 하단의 조건문에서 yes값이 나올수 있으므로 무조건 명시
						break;// no출력후 for문 빠져나옴. -> 다음 str검사
					}
					else stack.pop();
				}
			}
			if(stack.isEmpty()) bw.write("YES\n");
			else bw.write("NO\n");
			stack.clear(); //저장되어있는 stack공간 초기화.
		}
		bw.flush();
		bw.close();
		br.close();
	}
}
728x90

'Algorithm > BaekJoon[Java]' 카테고리의 다른 글

백준 10845 (Queue)  (0) 2022.03.24
백준 10799  (0) 2022.03.24
백준 10828(stack)  (0) 2022.03.24
백준 11004  (0) 2022.03.23
백준 11652  (0) 2022.03.23