풀이
괄호가 나오는 문제는 대부분 stack을 이용하면 풀린다!
룰루랄라
코드
#include <bits/stdc++.h>
using namespace std;
int cnt, ans;
string str;
int cmp(char a, char b) {
a -= '(', b -= '(';
if (a == 0 && b == 0) return 1;
if (a == 0 && b == 1) return 2;
if (a == 1 && b == 0) return 3;
if (a == 1 && b == 1) return 4;
}
int main() {
cin >> str;
for (int i = 0; i < str.size() - 1; i++) {
char a = str[i], b = str[i + 1];
int c = cmp(a, b);
if (c == 1) cnt++;
if (c == 2) ans += cnt;
if (c == 3) continue;
if (c == 4) ans++, cnt--;
}
cout << ans;
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이