문제
https://www.acmicpc.net/problem/10799
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
코드
import java.io.*;
import java.util.*;
class Main {
public static void main(String args[]) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
Stack<Character> stack = new Stack<>();
int count = 0;
for(int i=0;i<str.length();i++) {
char ch = str.charAt(i);
if(ch == '(') {
stack.add(ch);
}
else {
if(str.charAt(i-1) == '(') {
stack.pop();
count += stack.size();
}
else {
count += 1;
stack.pop();
}
}
}
System.out.print(count);
}
}