프로그래머스 - 내 풀이/프로그래머스 Lv2

프로그래머스 / 스택,큐 / 쇠막대기

ENUM01 2020. 6. 12. 10:51

https://programmers.co.kr/learn/courses/30/lessons/42585?language=cpp

 

코딩테스트 연습 - 쇠막대기

여러 개의 쇠막대기를 레이저로 절단하려고 합니다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자릅니다. 쇠막대기와 레�

programmers.co.kr

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
#include <vector>
#include <stack>
 
using namespace std;
 
int solution(string arrangement) {
    int answer = 0;
    stack<char> pipe;
 
    for (int i = 0; i < arrangement.length(); i++){
        if (arrangement[i] == '(')pipe.push(arrangement[i]);
        else{
            pipe.pop();
            if (arrangement[i - 1== '(')answer += pipe.size();
            else answer += 1;
        }
    }
    return answer;
}