Development/Algorithm
[BOJ] 10799. 쇠막대기
동스토리
2020. 10. 27. 22:34
반응형
문제
10799번: 쇠막대기
여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저
www.acmicpc.net
해설
스택을 사용해서 풀이
코드
#include<iostream>
#include<stack>
#include<string>
using namespace std;
stack<char> st;
int main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
string str;
int result = 0;
char before;
cin >> str;
for (auto c : str) {
if (c == '(') st.push(1);
else {
st.pop();
if (before == '(') result += st.size();
else result++;
}
before = c;
}
cout << result << '\n';
return 0;
}
반응형