(백준 9012 c++) 괄호

2022. 7. 5. 00:22·알고리즘/백준

문제

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

 

9012번: 괄호

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

www.acmicpc.net

정답코드

#include <stack>
#include <vector>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    int m;
    cin >> m;
    for (int c = 0; c < m; c++)
    {
        string n;
        cin >> n;
        stack<char> arr1;
        for (int a = 0; a < n.length(); a++)
        {
            if (n[a] == '(')
            {
                arr1.push(n[a]);
            }
            else
            {
                if (arr1.empty())
                {
                    arr1.push(n[a]);
                }
                else if (arr1.top() == '(')
                {
                    arr1.pop();
                }
            }
        }
        if (!arr1.empty())
        {
            cout << "NO"
                 << "\n";
        }
        else
        {
            cout << "YES"
                 << "\n";
        }
    }
}

해설

기본적인 스택문제, 큐로 풀어도 상관없음

근데 나는 이거 풀때 좀 헷갈렷던게 만약에 ))(( 이렇게 들어오는것도 처리하게 되면 어떻게 하지? 라는 생각을 하게됨.

이거는 내가 볼때 ((()))(()) 이런 vps 처리를 하는 전제조건이 있기 때문에 ))) 이렇게 들어오는 입력값을 배제 하고 푼는 것 같음

그리고 처음에 나는 그래서 )) 와 (( 이런거를 다 고려한 코드를 짯는데 segmentation fault가 남, 왜그런지 아직 잘 모르겠음

 

반응형
저작자표시 비영리 변경금지 (새창열림)

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

(백준 10816 c++) 숫자카드 2  (0) 2022.07.07
(백준 2164 c++) 카드2  (0) 2022.07.05
(백준 1764) 듣보잡  (0) 2022.06.29
(백준 1269) 대칭 차집합  (0) 2022.06.29
(백준 14425) 문자열 집합  (0) 2022.06.27
'알고리즘/백준' 카테고리의 다른 글
  • (백준 10816 c++) 숫자카드 2
  • (백준 2164 c++) 카드2
  • (백준 1764) 듣보잡
  • (백준 1269) 대칭 차집합
진ddang
진ddang
안녕하세요 진땅의 개발자 블로그 입니다. 피드백은 환영입니다. 깃헙 : https://github.com/it794613
    반응형
  • 진ddang
    맛동산이
    진ddang
  • 전체
    오늘
    어제
    • 분류 전체보기 (199)
      • 일기 그리고 목표 (1)
      • 웹 (20)
        • 리액트 (19)
      • 앱 (115)
        • Swift 문법 (15)
        • Swift (65)
        • SwiftUI (32)
        • 리액트 네이티브 (3)
      • CS (30)
        • 컴퓨터그래픽스 (8)
        • 운영체제 (6)
        • 네트워크 (16)
      • 알고리즘 (13)
        • 백준 (12)
        • 프로그래머스 (1)
      • 대외활동 (7)
        • ict한이음(2022.04) (2)
        • 멋쟁이 사자처럼 (5)
        • Apple Developer Academy (0)
      • 다양한 내용들 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    네트워크
    스유
    Protocol
    c++
    후기
    영남대
    대외활동
    운영체제
    스위프트
    컴퓨터그래픽스
    spritekit
    ReactorKit
    백준
    웹
    리액트
    swift concurrency
    widget
    멋쟁이사자처럼
    dispatchqueue
    composable architecture
    문법
    멋사
    TCA
    widgetkit
    cs
    SwiftUI
    위젯킷
    알고리즘
    Swift
    uikit
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
진ddang
(백준 9012 c++) 괄호
상단으로

티스토리툴바