Problem Solving/SWEA
SWEA- 5432 쇠막대기 자르기
채니_
2021. 2. 6. 22:46
( -무조건 push
) - )인경우 (인경우
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Stack;
public class Stick_cut {
static int res=0;
public static void main(String[] args) throws FileNotFoundException {
System.setIn(new FileInputStream("input/stick.txt"));
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int tc = 1; tc <= T; tc++) {
res=0;
String str = sc.next();
Stack < Character> stk = new Stack<Character>();
for (int i = 0; i < str.length(); i++) {
//스택이 비지 않았을 경우
if(!stk.isEmpty()){
// (
if(str.charAt(i)=='(') {
stk.push(str.charAt(i));
}
// )
else {
// 한칸전이 (
if(str.charAt(i-1)=='(') {
stk.pop();
res += stk.size();
}
//한칸전이 )
else {
res++;
stk.pop();
}
}
}//스택이 비었을 경우
else stk.push(str.charAt(i));
}
System.out.printf("#%d %d\n",tc, res);
}
}
}