forked from gojung/AlgorithmStudy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjava_1218.java
More file actions
38 lines (36 loc) · 1.36 KB
/
java_1218.java
File metadata and controls
38 lines (36 loc) · 1.36 KB
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
37
38
//SWEA 1218 °ýÈ£ ¦ ¸ÂÃß±â(D4)
import java.io.*;
import java.util.*;
public class java_1218{
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
for(int t = 1; t <= 10; t++){
int len = Integer.parseInt(br.readLine());
sb.append("#" + t + " " + validate(br.readLine(), len) + "\n");
}
System.out.print(sb);
}
public static int validate(String str, int len){
Stack<Character> stack = new Stack<>();
for(int i = 0; i < len; i++){
char pivot = str.charAt(i);
if(pivot == '(' || pivot == '[' || pivot == '{' || pivot == '<')
stack.add(str.charAt(i));
else{
if(stack.isEmpty())
return 0;
else{
char temp = stack.pop();
if(str.charAt(i) == ')'){
if(temp != '(') return 0;
}else{
if(str.charAt(i) - temp != 2) return 0;
}
}
}
}
return 1;
}
}