티스토리 뷰

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.util.Scanner;
import java.util.Stack;
 
public class Main{
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        boolean flag = false;
        Stack<String> stack = new Stack<>();
        for(int i=0; i<n; i++) {
            String a = sc.next();
            String[] c = a.split("");
            stack.clear();
            
            for(int j=0; j<c.length; j++) {
                if(c[j].equals("(")){
                    stack.push(c[j]);    
                }else {
                    if(stack.size() == 0) {
                        flag = true;
                        break;
                    }
                    stack.pop();
                }
            }
            if(flag || stack.size() > 0) {
                System.out.println("NO");
            }else {
                System.out.println("YES");
            }
            flag = false;
            
        }
    }
}
cs

'Seek > 알고리즘 문제풀이' 카테고리의 다른 글

백준 2606번 바이러스 (JAVA)  (0) 2019.09.27
백준 1260번 DFS와 BFS (JAVA)  (0) 2019.09.27
백준 10828번 스택 (JAVA)  (0) 2019.09.06
백준 1541번 잃어버린 괄호 (JAVA)  (0) 2019.09.06
백준 2217번 로프 (JAVA)  (0) 2019.09.06