-
[Algorithm] C++ 올바른 괄호(Stack)Programming/Algorithm 2020. 1. 2. 23:56
입력예제 1
(()(()))(()
출력예제 1
NO
입력예제 2
()()(()())
출력예제 2
YES
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<vector> #include<algorithm> #include<stack> using namespace std; int main() { stack <char> s; char a[50]; int i, flag = 1; scanf("%s", &a); for (i = 0; a[i] != '\0'; i++) { if (a[i] == '(') s.push(a[i]); else { if (s.empty()) { printf("NO\n"); flag = 0; break; } else s.pop(); } } if (s.empty() && flag == 1) printf("YES\n"); else if (!s.empty() && flag == 1) printf("NO\n"); return 0; }
'Programming > Algorithm' 카테고리의 다른 글
[Algorithm] C++ 부분집합(DFS) (0) 2020.01.06 [Algorithm] C++ 기차운행(stack 응용) (0) 2020.01.03 [Algorithm] C++ Ugly Numbers (투포인트 알고리즘) (0) 2020.01.02 [Algorithm] C++ 영지(territory) 선택 : (small) (0) 2019.12.27 [Algorithm] C++ 봉우리(2차원 배열) (0) 2019.12.26