[백준 10799번] 쇠막대기

2018. 1. 5. 17:07알고리즘/백준

반응형





소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
 
char st[100001], tmp[100001];
int sp = 0,tmpSp=0, result=0, openCnt=0;
 
int main() {
    cin >> tmp;
    // 레이저 만들기
    while (tmp[tmpSp] != '\0') {
        st[sp] = tmp[tmpSp];
        if (tmp[tmpSp] == ')') {
            if (st[sp - 1== '(') { st[sp - 1= 'r'; sp--; }
        }
        sp++,tmpSp++;
    }
    // 레이저 자르기
    for (int i = 0; i < sp; i++) {
        if (st[i] == 'r' && openCnt>0) { result += openCnt; }
        else if (st[i] == '(') { openCnt++; }
        else if (st[i] == ')') { openCnt--; result++; }
    }
    cout << result << '\n';
    return 0;
}
cs


반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준 2098번] 외판원 순회  (0) 2018.01.09
[백준 4796번] 캠핑  (0) 2018.01.09
[백준 10798번] 세로읽기  (0) 2018.01.02
[백준 10974번] 모든 순열  (0) 2017.12.26
[백준 1173번] 운동  (0) 2017.12.20