한 달 사이에 5키로가 찌고 0.1t이 코앞이다. 그러니 배가 고파도 참아야겠다.
각설하고. 이 문제는 스택을 사용했다.
그려서 학인하다 보니 규칙을 발견했다.
1. '('가 스택에 쌓여 있을 때 레이저 맞으면 '('갯수 맞큼 sum에 추가된다.
2. ')'이거 만나면 '(' 스택에서 pop
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include<stack>
using namespace std;
int main() {
string input;
stack<char> st;
int sum = 0;
cin >> input;
for (int i = 0; i < input.length(); i++) {
if (input[i] == '(')
st.push(input[i]);
else if (input[i] == ')' && input[i - 1] == '(') {
st.pop();
sum = sum + st.size();
}
else {
sum = sum + 1;
st.pop();
}
}
cout << sum << '\n';
return 0;
}