-
[프로그래머스/Level 2] 올바른 괄호 (C++)알고리즘 문제풀이/프로그래머스 2020. 11. 6. 16:39
programmers.co.kr/learn/courses/30/lessons/12909
스택으로 해결하는 너무나도 유명한 문제
1. '(' 을 만나면 스택에 push
2. ')'을 만나면
- 스택이 비어있을 경우 false를 리턴
- 스택에 원소가 있는 경우 pop
3. 괄호 탐색을 완료 후, 스택에 원소가 남아 있다면 false, 비어있다면 true
#include <string> #include <stack> using namespace std; bool solution(string str) { stack<char> s; for(int i = 0; i < str.size(); i++) { if(str[i] == '(') { s.push(str[i]); } else { if(s.empty()) return false; else s.pop(); } } if(!s.empty()) return false; else return true; }
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Level 2] 숫자의 표현 (C++) (0) 2020.11.09 [프로그래머스/Level 2] 땅따먹기 (C++) (0) 2020.11.06 [프로그래머스/Level 2] 다음 큰 숫자 (C++) (0) 2020.11.06 [프로그래머스/Level 2] 가장 큰 정사각형 찾기 (C++) (0) 2020.11.05 [프로그래머스/Level 2] 카펫 (C++) (0) 2020.11.05