알고리즘/BOJ
[c/c++] BOJ 3986번 문제 - 좋은단어
wonjun.Aden
2022. 3. 7. 23:34
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 좋지 않은 단어!
반응형