https://www.acmicpc.net/problem/3986
3986번: 좋은 단어
이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에
www.acmicpc.net
문제

문제풀이
#include <bits/stdc++.h>
using namespace std;
//좋은 단어
//단어 위로 아치형 곡선을 그어 같은 글자끼리(A는 A끼리, B는 B끼리) 쌍을 짓기로 하였다.
//선끼리 교차하지 않으면서 각 글자를 정확히 한 개의 다른 위치에 있는 같은 글자와 짝 지을수 있다면, 그 단어는 '좋은 단어'
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
int ans=0;
int n;
cin >> n;
while(n--){
string input;
stack<char> st;
cin >> input;
for(auto word : input){
if(!st.empty() && st.top() == word) st.pop();
else st.push(word);
}
if(st.empty()) ans++;
}
cout << ans;
return 0;
}
문제의 포인트
- AA BB BAAB ABBA 는 좋은 단어
- BABA BBB AAA ABA 좋지 않은 단어!
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
| [c/c++] BOJ 2504번 문제 - 괄호 값 (0) | 2022.03.11 |
|---|---|
| [c/c++] BOJ 10799번 문제 - 쇠막대기 (0) | 2022.03.07 |
| [c/c++] BOJ 5430번 문제 - AC (0) | 2022.03.07 |
| [c/c++] BOJ 2164번 문제 - 카드2 (0) | 2022.03.07 |
| [c/c++] BOJ 17298번 문제 - 오큰수 (0) | 2022.02.25 |