백준 알고리즘(C++)
백준 3986번 좋은단어 (C++)
coding232624
2024. 3. 5. 23:40
문제
https://www.acmicpc.net/problem/3986
3986번: 좋은 단어
이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에
www.acmicpc.net
해설
인접한 수끼리의 연결이므로 스택 / 큐 등을 떠올릴 수 있음
=> 겹치지 않도록 하기 위해 같은 수가 만나면 없어진다고 생각하고 하나씩 넣어주도록 설정
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
ht#include <bits/stdc++.h>
using namespace std;
int N,ret;
string str;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> N;
for(int i=0; i<N; i++){
cin >> str;
stack<char> stk;
for(char a : str){
if(stk.size() && stk.top() == a){
stk.pop();
}
else stk.push(a);
}
if(stk.size() == 0) ret++;
}
cout << ret;
}
|
cs |