본문 바로가기

백준

백준_3986: 좋은단어

 

www.acmicpc.net/problem/3986

 

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