https://www.acmicpc.net/problem/15926
문제풀이
올바른 괄호의 인덱스를 저장하는 배열의 카운트 값 구하기
코드
#include<bits/stdc++.h>
using namespace std;
int n, ret, cnt, a[200001];
stack<int> stk;
string s;
int main(){
cin >> n >> s;
for(int i=0;i<n;i++){
if(s[i]=='(')stk.push(i);
else if(stk.size()){
a[i]=a[stk.top()]=1;
stk.pop();
}
}
for(int i=0;i<n;i++){
if(a[i]){
cnt++;
ret = max(ret, cnt);
}else cnt = 0;
}
cout << ret<<"\n";
return 0;
}