Notice
Recent Posts
Recent Comments
«   2024/11   »
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 26 27 28 29 30
Archives
Today
Total
관리 메뉴

블로그 언저리인 무언가

[백준/BOJ] 10779 쇠막대기 본문

Programming/BOJ

[백준/BOJ] 10779 쇠막대기

he1fire 2020. 9. 21. 15:43
728x90

문제 : 10779 쇠막대기

 

10799번: 쇠막대기

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

www.acmicpc.net

쇠막대와 레이저의 위치가 괄호로 주어졌을 때

잘린 막대기의 총개수를 출력하는 문제이다.

'(' 괄호가 들어오면 겹쳐진 쇠막대기의 개수를 1개 늘리고

')' 괄호가 들어오면 레이저 거나 막대가 끝이 난 것이므로

막대기의 개수를 줄이고 앞의 괄호를 판단해

레이저인지 체크한 후 1 더하거나 겹쳐진 막대의 개수만큼 더한다.


Code

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    ll ans=0, cnt=0;
    string S;
    cin >> S;
    for (int i=0;i<S.size();i++){
        if (S[i]=='(')
            cnt++;
        if (S[i]==')'){
            cnt--;
            if (S[i-1]=='(')
                ans+=cnt;
            if (S[i-1]==')')
                ans++;
        }
    }
    cout << ans;
    return 0;
}
728x90

'Programming > BOJ' 카테고리의 다른 글

[백준/BOJ] 1057 토너먼트  (0) 2020.09.21
[백준/BOJ] 14889 스타트와 링크  (0) 2020.09.21
[백준/BOJ] 1235 학생 번호  (0) 2020.09.21
[백준/BOJ] 1668 트로피 진열  (0) 2020.09.19
[백준/BOJ] 1058 친구  (0) 2020.09.19
Comments