쌓고 쌓다

[프로그래머스] 올바른 괄호 C++ 풀이 본문

알고리즘/프로그래머스

[프로그래머스] 올바른 괄호 C++ 풀이

승민아 2022. 9. 29. 15:54

https://school.programmers.co.kr/learn/courses/30/lessons/12909

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

전체 코드

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

bool solution(string s)
{
    bool answer = true;
    stack<char> st;
    
    for(int i=0;i<s.length();i++)
    {
        
        if(s[i]=='(')
            st.push('(');
        else
        {
            if(st.empty())
            {
                answer=false;
                break;
            }
            else
                st.pop();
        }
    }

    if(!st.empty())
        answer=false;
    return answer;
}

 

풀이 방법

올바른 괄호의 문제 풀이 방법은 아래에 정리해놨다.

https://non-stop.tistory.com/90

 

올바른 괄호 판별 - 스택 활용

[(()){}{}] 와 같은 괄호가 있다. 이 괄호가 올바른지 확인하는 방법으로 스택을 사용한다. 여는 괄호는 스택에 그냥 넣어주면 된다. 닫는 괄호에서는 스택을 열어봐서 비교해봐야 한다. 현재 닫는

non-stop.tistory.com

Comments