728x90
반응형
목차
https://www.acmicpc.net/problem/3986
문제
문제 풀이
- 스택이 비어있다 -> 문자를 넣어준다.
- 스택이 비어있지 않다 -> 1.스택의 top값과 들어갈 값이 같으면 스택에서 pop해준다.
- 2.스택의 top값과 들어갈 값이 다르면 그냥 넣어준다.
문자열을 다 순회한후 스택이 비어있다면 1, 비어있지 않다면 0을 리턴해 준다.
코드 구현
#include <iostream>
#include<stack>
#include<algorithm>
using namespace std;
int check(string str) {
stack<char> s;
int acnt = 0, bcnt=0;
for (int i = 0; i < str.size(); i++) {
if (s.empty()) {
s.push(str[i]);
}
else {
if (str[i] == s.top()) {
s.pop();
}
else {
s.push(str[i]);
}
}
}
if (s.empty())
return 1;
else
return 0;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, sum=0;
string str;
cin >> n;
for (int i = 0; i < n; i++){
cin >> str;
sum +=check(str);
}
cout << sum;
}
반응형
'백준 문제풀이' 카테고리의 다른 글
[백준][스택] 9935 문자열 폭발 c++구현 (1) | 2024.04.01 |
---|---|
[백준][분할 정복] 1629 곱셈 c++구현 (0) | 2024.03.30 |
[백준][조합] 1940 주몽 c++구현 (0) | 2024.03.30 |
[백준][자료 구조] 1620 나는야 포켓몬 마스터 이다솜 c++구현 (0) | 2024.03.28 |
[백준][누적 합] 2559 수열 c++구현 (0) | 2024.03.27 |