coding test - C++/Programmers
Programmers / 올바른 괄호 - 스택 / C++
sillon
2026. 2. 7. 19:29
728x90
반응형
*문제 출처는 프로그래머스에 있습니다.

문제 제목: 올바른 괄호 - 스택
문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=cpp
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr

나의 풀이
#include <string>
#include <vector>
#include <iostream>
using namespace std;
bool solution(string s)
{
vector<char> stack;
for (char x : s) {
if (x == '('){
if (stack.empty()){
stack.push_back(x);
}
else{
if (stack.back() == '('){
stack.push_back(x);
}
}
}
else{
if (stack.empty()){return false;}
else{
if (stack.back() == '('){
stack.pop_back();
}
}
}
}
if (stack.empty()){
return true;
}
else{
return false;
}
}
스택이 올바른 괄호 '()' 쌍을 맞추는지 확인
() 로 제대로 닫히면 스택에서 팝해주고
아니면 쌓기
) 가 스택에서 제일 처음 오면 처음부터 잘못되었으므로 false 반환

728x90
반응형