[BOJ] 10799. 쇠막대기
15 Apr 2026
Reading time ~1 minute
풀이
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
Stack<Character> st = new Stack<>();
st.add(s.charAt(0));
long answer = 0l;
for(int i = 1; i < s.length(); i++) {
// 레이저이면
if(!st.isEmpty() && s.charAt(i - 1) == '(' && s.charAt(i) == ')') {
st.pop();
answer += st.size();
// 레이저가 아니라면
} else if(!st.isEmpty() && s.charAt(i - 1) != '(' && s.charAt(i) == ')') {
st.pop();
answer++;
} else {
st.push(s.charAt(i));
}
}
System.out.println(answer);
}
}