본문 바로가기
코테/백준

[백준] 10799 쇠막대기 - C++

by gayoungeeda 2023. 7. 20.
728x90

https://www.acmicpc.net/problem/10799

 

문제 설명


문제 풀이

#include<stdio.h>
#include<string.h>
char stack[100001];
char t[100001];
int main()
{
    int i, cnt = 0, key = -1;

    scanf("%s", t);

    for(i = 0; i < strlen(t); i++) {
        if(key == -1 || t[i] == '(') {
            stack[++key] = t[i];
        }
        else if(t[i] == ')') {
            key--;
            if(t[i-1] == ')') cnt += 1;
            else if(key > -1) cnt += key+1;
        }
    }
    
    printf("%d", cnt);

    return 0;
}

스택에 괄호를 차례대로 쌓아서 레이저를 만나면 쌓여있는 괄호의 수만큼 막대기가 늘어나고 하나의 막대기가 끝이 나면 한개가 증가함

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

[백준] 2839 설탕 배달 - C++  (0) 2023.07.21
[백준] 10845 큐 - C++  (0) 2023.07.21
[백준] 10815 숫자 카드 - C++  (0) 2023.07.20
[백준] 2805 나무 자르기 - C++  (0) 2023.07.20
[백준] 1764 듣보잡 - C++  (0) 2023.07.19