https://www.acmicpc.net/problem/3986
๋ฌธ์
์ด๋ฒ ๊ณ์ ํ๊ธฐ์ ์ฌ๋ฆฌํ ๊ฐ๋ก ์ ์๊ฐ ์ค์ธ ํ์์ด๋ ์ค๋ ์์ ๊น์ง ๋ณด๊ณ ์๋ฅผ ์ ์ถํด์ผ ํ๋ค. ๋ณด๊ณ ์ ์์ฑ์ด ๋๋ฌด ์ง๋ฃจํ๋ ํ์์ด๋ ๋ ธํธ๋ถ์ ์๋๋ ค์ ๊พธ๋ฒ ๊พธ๋ฒ ์กธ๋ค๊ฐ ์ ์ถ ๋ง๊ฐ 1์๊ฐ ์ ์ ๊นจ๊ณ ๋ง์๋ค. ์ํ๊น๊ฒ๋ ์๋ ๋์ ํค๋ณด๋๊ฐ ์๋ชป ๋๋ ค์ ๋ณด๊ณ ์์ ๋ชจ๋ ๊ธ์๊ฐ A์ B๋ก ๋ฐ๋์ด ๋ฒ๋ ธ๋ค! ๊ทธ๋์ ํ์์ด๋ ๋ณด๊ณ ์ ์์ฑ์ ๋๋ ค์น์ฐ๊ณ ๋ณด๊ณ ์์์ '์ข์ ๋จ์ด'๋ ์ธ๋ณด๊ธฐ๋ก ๋ง์ ๋จน์๋ค.
ํ์์ด๋ ๋จ์ด ์๋ก ์์นํ ๊ณก์ ์ ๊ทธ์ด ๊ฐ์ ๊ธ์๋ผ๋ฆฌ(A๋ A๋ผ๋ฆฌ, B๋ B๋ผ๋ฆฌ) ์์ ์ง๊ธฐ๋ก ํ์๋ค. ๋ง์ฝ ์ ๋ผ๋ฆฌ ๊ต์ฐจํ์ง ์์ผ๋ฉด์ ๊ฐ ๊ธ์๋ฅผ ์ ํํ ํ ๊ฐ์ ๋ค๋ฅธ ์์น์ ์๋ ๊ฐ์ ๊ธ์์ ์ง ์ง์์ ์๋ค๋ฉด, ๊ทธ ๋จ์ด๋ '์ข์ ๋จ์ด'์ด๋ค. ํ์์ด๊ฐ '์ข์ ๋จ์ด' ๊ฐ์๋ฅผ ์ธ๋ ๊ฒ์ ๋์์ฃผ์.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด์ ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 100)
๋ค์ N๊ฐ ์ค์๋ A์ B๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ๋จ์ด์ ๊ธธ์ด๋ 2์ 100,000์ฌ์ด์ด๋ฉฐ, ๋ชจ๋ ๋จ์ด ๊ธธ์ด์ ํฉ์ 1,000,000์ ๋์ง ์๋๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ข์ ๋จ์ด์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
๊ฒฐ๊ตญ ์ ์ ๊ทธ์์๋ ๊ฒน์น์ง ์๋๋ค๋ ๋ง์ ์์ชฝ ์์ ์ด๋ค์ผํ๋ค๋๋ง
ํ์ด๊ฐ ๋ง์ด ์๋ต๋๊ธด ํ์ง๋ง
๋ค์๊ณผ ๊ฐ์ ๊ดํธ ๋ฌธ์ ์ ๋น์ทํ ์ ํ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ ๊ทผ์ด ์ฝ๋ค
์ฆ ์คํ์ ์จ์ ๊ผญ๋๊ธฐ์ ๋ค์ ์์์ ๊ฐ์์ ๊ฐ ์์ผ๋ฉด pop
์๋๋ผ๋ฉด push
๋ง์ง๋ง์ ์คํ์ ๋จ์๊ฒ ์๋ค๋ฉด ์์ด ์ ๋ง์๋ค๋ ๋ป์ด๋ฏ๋ก ๊ฐฏ์์ ์นด์ดํธ
// Authored by : seondal
// Co-authored by : -
//#include <bits/stdc++.h>
#include <iostream>
#include <stack>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, ans=0;
cin >> n;
while(n--){
string input;
cin >> input;
stack<char> s;
for(int i=0; i<input.length(); i++){
if(!s.empty() && s.top()==input[i]) s.pop();
else s.push(input[i]);
}
if(s.empty()) ans++;
}
cout << ans;
return 0;
}
/*
*/
'๐ Baaaaaarking > 0x08๊ฐ - ์คํ์ ํ์ฉ (์์์ ๊ดํธ์)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ S2][C++] 2504๋ฒ: ๊ดํธ์ ๊ฐ (0) | 2022.03.06 |
---|---|
[BOJ S4][C++] 10799๋ฒ: ์ ๋ง๋๊ธฐ (0) | 2022.03.06 |
[BOJ S4][C++] ๋ฐฑ์ค 9012๋ฒ: ๊ดํธ (0) | 2022.03.02 |
[BOJ S4}[C++) 4949๋ฒ: ๊ท ํ์กํ ์ธ์ (0) | 2022.02.25 |