[C++] 백준 9012 : 괄호

Kim Nahyeong·2022년 1월 4일
0

백준

목록 보기
20/157

#include <iostream>
#include <stack>
using namespace std;

bool parenthesis(string str){
    char c;
    stack<int> stack;
    bool check = true;

    for(int j=0; j<str.length(); j++){
        c = str[j]; // 한 문자씩 str 뽑아내는 법
        if(c == '('){
            stack.push(c);
        } else {
            if(stack.empty()){
                return false;
            } else {
                stack.pop();
            }
        }
    }

    if(!stack.empty()){
        return false;
    }
    return true;
}

int main(int argc, char **argv){ //스택 사용하기
    int n, cnt = 0;
    string str;

    scanf("%d",&n);
    for(int i=0; i<n; i++){
        cin >> str;
        
        if(parenthesis(str)){
            printf("YES\n");
        } else {
            printf("NO\n");
        }
    }
    return 0;
}

오늘의 키포인트

  • 스택 문제의 바이블
  • str을 한 문자씩 쓰려면 str 입력을 받은 수 for문을 사용하여 char형 변수에 하나씩 저장하여 사용한다.

0개의 댓글