[백준 9012번] 괄호 (C++)PS/백준 알고리즘[BOJ]2023. 10. 12. 17:13
Table of Contents
728x90
반응형
1. 문제
https://www.acmicpc.net/problem/9012
스택을 활용한 전형적인 괄호의 유효성을 검사하는 문제이다.
2. 풀이
- 문자열을 탐색하면서 stack이 비어있으면 추가한다.
- stack이 차있는 경우 stack.top와 문자를 비교하여 짝이 맞으면 stack.top을 제거하고 짝이 맞지 않으면 현재 문자를 stack에 추가한다.
3. 코드
#include<iostream>
#include<string>
#include<stack>
using namespace std;
stack<char> sta;
string str;
int main(void) {
cin.tie(0);
ios::sync_with_stdio(false);
int T;
cin >> T;
while (T--) {
cin >> str;
int len = str.length();
int index = 0;
while (index < len) {
if (sta.empty()) {
sta.push(str[index++]);
continue;
}
if (str[index] == ')' && sta.top() == '(') sta.pop();
else sta.push(str[index]);
index++;
}
if (sta.empty()) cout << "YES\n";
else cout << "NO\n";
while (!sta.empty()) {
sta.pop();
}
}
return 0;
}
728x90
반응형
'PS > 백준 알고리즘[BOJ]' 카테고리의 다른 글
[백준 1074번] Z (C++) (0) | 2023.10.18 |
---|---|
[백준 10799번] 쇠막대기 (C++) (0) | 2023.10.12 |
[백준 3986] 좋은 단어 (C++) (0) | 2023.10.12 |
[백준 4949번] 균형잡힌 세상 (C++) (0) | 2023.10.12 |
[백준 17609] 회문 (C++) (0) | 2023.10.09 |
@BE_개발자 :: 경이로운 개발일기
경이로운 BE 개발자가 되기 위한 프로그래밍 공부 기록장
도움이 되었다면 "❤️" 또는 "👍🏻" 해주세요! 문의는 아래 이메일로 보내주세요.