#1. 문제
#2. 풀이
1. stack
스택은 후입 선출 방식으로 동작하는 선형 자료구조입니다. 스택 자료구조는 데이터 목록의 한쪽 끝에서만 접근/삽입/삭제 작업이 이루어지는 것이 특징입니다.
2. 괄호 문제는 스택으로!
- '('는 스택에 삽입, ')'일 경우 stack이 비어있다면 실패, stack이 비어있지 않다면 pop() 수행
- 마지막, 스택에 잔여 '('가 남아 있을 경우, 실패.
#3. 코드
/*
@링크:https://school.programmers.co.kr/learn/courses/30/lessons/12909
@문제:올바른 괄호
@설명
1. 스택 활용
*/
#include<string>
#include <iostream>
#include <stack>
using namespace std;
bool solution(string s)
{
bool ans = true;
stack<char> st;
for(auto c : s)
{
if(c == '(')
{
st.push(c);
}
else
{
if(st.empty())
{
ans = false;
break;
}
st.pop();
}
}
if(!st.empty()) ans = false;
return ans;
}