1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
#include <vector>
#include <stack>
 
using namespace std;
 
int solution(string str) {
    vector<char> st;
    int result = 0;
    for(int i=0; i<str.length(); i++){   
        if(str[i]==')'){
            st.pop_back(); //) 일때 무조건 하나 빼준다.
            if(str[i-1]=='(')
                result+=st.size();
            else
                result+=1;
        }
        else
            st.push_back(str[i]);
    }
    return result;
}
 
cs


이 문제는 ( 일때 push )일때 pop 단, 이전에 () 만나면 stack 의 size를 더해주는 것이다. 


'알고리즘' 카테고리의 다른 글

알고리즘12 :: BOJ_2577_숫자의개수  (0) 2019.02.23
알고리즘11 :: BOJ_더하기사이클_1110번  (0) 2019.01.05
알고리즘이란?  (0) 2018.12.26
정렬 알고리즘  (0) 2018.12.25
Dynamic Programming  (0) 2018.12.24