📌문제
https://school.programmers.co.kr/learn/courses/30/lessons/12909
🎖️난이도
Level 2
✔️풀이
#include <string>
#include <iostream>
//#include <stack> => 스택은 벡터로 구현하는게 더 접근 쉬움!
#include <vector>
using namespace std;
bool solution(string s)
{
if (s[0] == ')') return false;
vector<char> stack; // string 아니고 char (문자 기호)
for (int i = 0; i < s.length(); i++) {
if (s[i] == '(') {
stack.push_back(s[i]);
continue;
}
if (!stack.empty()) { // "())" 의 경우.. (빈 stack에서 pop하면 error)
stack.pop_back();
continue;
}
return false;
}
return stack.empty(); // 삼항연산자 안써도 됨!
}
🧠노트
-
🔍참고
c++에서는 스택을 vector로 구현하는 게 국룰 (#include <stack>도 있지만 비추)
(큐 : #include <queue>)
'[ 알고리즘 ] > Stack, Queue' 카테고리의 다른 글
[프로그래머스] 다리를 지나는 트럭 (0) | 2022.06.29 |
---|---|
[프로그래머스] 프린터 (0) | 2022.06.29 |
[프로그래머스] 기능개발 (0) | 2022.06.29 |