3986번: 좋은 단어
이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에
www.acmicpc.net
#include <iostream>
#include <stack>
#include <string>
using namespace std;
int main() {
stack<char> s;
int n, count = 0;
string str;
char c;
cin >> n;
for (int i = 0; i < n; i++) { //문자열의 갯수만큼 반복
cin >> str;
for (int j = 0; j < str.size(); j++) {
c = str.at(j);
if (s.empty() == true) //스택이 비어있는 경우
s.push(c);
else if (c == s.top()) //스택의 마지막 문자가 새로 넣을 문자와 같은 경우
s.pop(); //스택의 마지막문자 제거
else //스택의 마지막 문자와 새로 넣을 문자가 다른 경우
s.push(c); //스택에 문자 저장
}
if (s.empty() == true) //스택이 비어있는 경우(문자열이 좋은 단어일 경우)
count++;
else { //문자열이 좋은단어가 아닌경우
while (s.empty() != true) //스택을 비움
s.pop();
}
}
cout << count;
return 0;
}
'백준' 카테고리의 다른 글
백준_1874: 스택수열 (0) | 2021.01.07 |
---|---|
백준_1003: 피보나치 함수 (1) | 2021.01.01 |
백준_10845: 큐 (0) | 2020.12.27 |
백준_11866: 요세푸스 문제 0 (1) | 2020.12.24 |
백준_1620: 나는야 포켓몬 마스터 이다솜 (0) | 2020.12.24 |