BOJ/[ BOJ ] C++

[ C++ ] 3986 좋은 단어

haena02 2023. 1. 12. 03:17
반응형

 

국어를 잘못하는지

집중력이 낮은지..

문제 이해하는데에 좀 걸렸다. 

 

결론적으로는 괄호문제와 비슷하다고 생각했다.

A괄호와 B괄호가 있다고 생각하고 풀면 어렵지 않을 것 같다.

 

한 줄 읽고 한글자씩 보면서 읽은 글자가 스택의 맨 위와 같으면 pop해주고

그렇지 않다면 스택에 push 해준다. 

스택이 비어있다면 무조건 push해준다.

 

 

 

#include<iostream>
#include<string>
#include<stack>

using namespace std;

int main() {

	ios::sync_with_stdio(0);
	cin.tie(0);

	int N,cnt=0;
	cin >> N;


	for(int i=0;i<N;i++){
		string charInput;
		getline(cin, charInput);

		if (charInput.empty()) { i--; continue; }
		stack<char> s;

		for (auto c : charInput) {
			
			if (s.empty()) {
				s.push(c);
			}
			else {
				if (s.top() == c) {
					s.pop();
				}
				else {
					s.push(c);
				}
				
			}
			
		}
		if (s.empty()) {  cnt++; }
	}
	std::cout << cnt;
	return 0;
}
반응형

'BOJ > [ BOJ ] C++' 카테고리의 다른 글

[ C++ ] #2178 미로탐색  (0) 2023.01.15
[ C++ ] #1926 그림  (1) 2023.01.14
[ C++ ] #4949 균형잡힌 세상  (0) 2023.01.06
[ C++ ] #1021 회전하는 큐  (1) 2023.01.04
[ C++ ] #2164 카드2  (0) 2022.12.29