티스토리 뷰
#include <iostream>
#include <stack>
using namespace std;
string str;
int main(void)
{
cin >> str;
stack<char> s;
char before = ' ';
int ans = 0;
for (int i = 0; i < str.size(); i++) {
if (str[i] == '(')
s.push(str[i]);
else {
if (before == '(') {
s.pop();
ans += s.size();
}
else if (before == ')') {
s.pop();
ans++;
}
}
before = str[i];
}
printf("%d", ans);
return 0;
}
풀이 : 6분
코딩 : 4분
디버깅 : 1분
이전 문자를 보고 분기하는데 이전 문자 업데이트를 하지 않음
'프로그래밍 > 문제풀이' 카테고리의 다른 글
[BOJ] 17298 오큰수 (0) | 2020.06.13 |
---|---|
[BOJ] 14891 톱니바퀴 (0) | 2020.05.20 |
[BOJ] 1107 리모컨 (0) | 2020.05.20 |
[BOJ] 10971 외판원 순회2 (0) | 2020.05.15 |
[BOJ] 11051 이항 계수 2 (0) | 2020.02.28 |
댓글