장성호's
장성호's blog
장성호's
  • 분류 전체보기
    • 알고리즘
      • 백준
      • 이론
    • WEB
      • Spring 인강
      • 네트워크
    • 개인 프로젝트
      • 쇼핑몰 만들기

블로그 메뉴

  • 홈
  • 깃허브
전체 방문자
오늘
어제
반응형
hELLO · Designed By 정상우.
장성호's

장성호's blog

[C++] BOJ 9012 괄호
알고리즘/백준

[C++] BOJ 9012 괄호

2022. 1. 18. 01:55
반응형

문제 출처

백준 온라인 저지

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

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

 

문제 

 

입 / 출력

 

풀이

스택을 사용해서 풀 수 있다.

'(' 일 경우 스택에 push 해주고, ')'일 경우 pop해준다.

이 때 ')'가 먼저 나올 경우나 마지막에 스택이 비어 있지 않을 경우 오류 처리 해준다.

 

 

코드

#include <iostream>
#include <stack>

using namespace std;

bool error = false;
int n, cnt = 0;
string input;

int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    stack<char> VPS;
    cin >> input;
    error = false;
    for (int j = 0; j < input.size(); j++) {
      if (input[j] == '(')
        VPS.push(input[j]);
      else {
        if (!VPS.empty()) {
          VPS.pop();
        } else {
          error = true;
          break;
        }
      }
    }
    if (!VPS.empty() || error)
      cout << "NO\n";
    else
      cout << "YES\n";
  }
}
반응형
저작자표시 비영리 변경금지 (새창열림)

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

[C++] BOJ 2609 최대공약수와 최소공배수  (0) 2022.01.18
[C++] BOJ 11655 ROT13  (0) 2022.01.18
[C++] BOJ 10825 국영수  (0) 2022.01.07
[C++] BOJ 11052 카드 구매하기  (0) 2022.01.05
[C++] BOJ 9461 파도반 수열  (0) 2022.01.05
    '알고리즘/백준' 카테고리의 다른 글
    • [C++] BOJ 2609 최대공약수와 최소공배수
    • [C++] BOJ 11655 ROT13
    • [C++] BOJ 10825 국영수
    • [C++] BOJ 11052 카드 구매하기
    장성호's
    장성호's
    장성호's 개발 공부 블로그

    티스토리툴바