반응형
- 스택을 이용하여 푸는 문제이며
'()'가 들어오면 안에 스택안에 있던 사이즈를 측정하여
결과 값에 더하고 ')'가 입력되면 스택에서 pop을 하고
결과값에 1을 더한다.
#include<iostream>
#include<string>
#include<stack>
using namespace std;
int main() {
string stick;
stack<char> t;
int result = 0;
cin >> stick;
for(int i = 0; i < stick.size(); i++) {
if(stick[i] == '(') {
if(stick[i + 1] == ')') {
result += t.size();
i++;
} else {
t.push('(');
}
} else {
t.pop();
result++;
}
}
cout << result;
return 0;
}
반응형
'BaekJoon > C++' 카테고리의 다른 글
2810 : 컵홀더 (C++) (0) | 2021.01.19 |
---|---|
4796 : 캠핑 (C++) (0) | 2021.01.19 |
2751 : 수 정렬하기 2 (C) (0) | 2021.01.11 |
2750 : 수 정렬하기 (C) (0) | 2021.01.11 |
1874 : 스택 수열 (C) (0) | 2021.01.10 |
댓글