๋ฌธ์
์ด๋ฒ ๊ณ์ ํ๊ธฐ์ ์ฌ๋ฆฌํ ๊ฐ๋ก ์ ์๊ฐ ์ค์ธ ํ์์ด๋ ์ค๋ ์์ ๊น์ง ๋ณด๊ณ ์๋ฅผ ์ ์ถํด์ผ ํ๋ค. ๋ณด๊ณ ์ ์์ฑ์ด ๋๋ฌด ์ง๋ฃจํ๋ ํ์์ด๋ ๋ ธํธ๋ถ์ ์๋๋ ค์ ๊พธ๋ฒ ๊พธ๋ฒ ์กธ๋ค๊ฐ ์ ์ถ ๋ง๊ฐ 1์๊ฐ ์ ์ ๊นจ๊ณ ๋ง์๋ค. ์ํ๊น๊ฒ๋ ์๋ ๋์ ํค๋ณด๋๊ฐ ์๋ชป ๋๋ ค์ ๋ณด๊ณ ์์ ๋ชจ๋ ๊ธ์๊ฐ A์ B๋ก ๋ฐ๋์ด ๋ฒ๋ ธ๋ค! ๊ทธ๋์ ํ์์ด๋ ๋ณด๊ณ ์ ์์ฑ์ ๋๋ ค์น์ฐ๊ณ ๋ณด๊ณ ์์์ '์ข์ ๋จ์ด'๋ ์ธ๋ณด๊ธฐ๋ก ๋ง์ ๋จน์๋ค.
ํ์์ด๋ ๋จ์ด ์๋ก ์์นํ ๊ณก์ ์ ๊ทธ์ด ๊ฐ์ ๊ธ์๋ผ๋ฆฌ(A๋ A๋ผ๋ฆฌ, B๋ B๋ผ๋ฆฌ) ์์ ์ง๊ธฐ๋ก ํ์๋ค. ๋ง์ฝ ์ ๋ผ๋ฆฌ ๊ต์ฐจํ์ง ์์ผ๋ฉด์ ๊ฐ ๊ธ์๋ฅผ ์ ํํ ํ ๊ฐ์ ๋ค๋ฅธ ์์น์ ์๋ ๊ฐ์ ๊ธ์์ ์ง ์ง์์ ์๋ค๋ฉด, ๊ทธ ๋จ์ด๋ '์ข์ ๋จ์ด'์ด๋ค. ํ์์ด๊ฐ '์ข์ ๋จ์ด' ๊ฐ์๋ฅผ ์ธ๋ ๊ฒ์ ๋์์ฃผ์.
์ฒซ์งธ ์ค์ ๋จ์ด์ ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 100)
๋ค์ N๊ฐ ์ค์๋ A์ B๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ๋จ์ด์ ๊ธธ์ด๋ 2์ 100,000์ฌ์ด์ด๋ฉฐ, ๋ชจ๋ ๋จ์ด ๊ธธ์ด์ ํฉ์ 1,000,000์ ๋์ง ์๋๋ค.์ฒซ์งธ ์ค์ ์ข์ ๋จ์ด์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
์์ด๋์ด
- Stack ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ค.
- Stack ์ ์ต์๋จ๊ณผ ํ์ฌ push ๋์ด์ผ ํ ๋ฌธ์๊ฐ ๋์ผํ๋ค๋ฉด Stack ์ ์๋จ์ ๊ฐ์ pop ํ๋ค.
- ์ต์ข ์ ์ผ๋ก Stack ์ ์ฌ์ด์ฆ๊ฐ 0 ์ด๋ผ๋ฉด ์ข์ ๋จ์ด, ๊ทธ๋ ์ง ์์ผ๋ฉด ์ข์ง ์์ ๋จ์ด์ด๋ค.
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, cnt = 0;
cin >> n;
for (int i = 0; i < n; i++) {
string input = "";
cin >> input;
vector<char> v = vector<char>();
v.push_back(input[0]);
for (int k = 1; k < input.length(); k++) {
if (v[v.size() - 1] == input[k]) v.pop_back();
else v.push_back(input[k]);
}
if (v.size() == 0) cnt++;
}
cout << cnt;
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 1012] ์ ๊ธฐ๋ ๋ฐฐ์ถ (0) | 2023.05.08 |
---|---|
[๋ฐฑ์ค 4375] 1 (0) | 2023.04.23 |
[๋ฐฑ์ค 1940] ์ฃผ๋ชฝ (0) | 2023.04.17 |
[๋ฐฑ์ค 1213] ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ (0) | 2023.04.16 |
[๋ฐฑ์ค 9375] ํจ์ ์ ์ ํด๋น (0) | 2023.04.14 |