์ฝ๋ ๋ฐ๋ก๊ฐ๊ธฐ
โ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปคโ ๋ฌธ์ ํ์ธ
ํ์ด
๊ทธ๋ฃน ๋จ์ด๋, ๋จ์ด์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฌธ์์ ๋ํด์, ๊ฐ ๋ฌธ์์ ์ฐ์ํด์
๋ํ๋๋ ๊ฒฝ์ฐ๋ง์ ๋งํ๋ค. ๊ฐ๋ น, ccazzzzbb๋ cazb๊ฐ ์ฐ์ํด์ ๋ํ๋๋ค. kin๋ ์ฐ์ํด์ ๋ํ๋๋ค.
aabbccb๋ abc์ b๊ฐ ๋จ์ด์ ธ์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด๊ฐ ์๋๋ค.
๊ทธ๋ฃน๋จ์ด ํ๋ณ์ ์ด๋ป๊ฒ?
boolean ๋ฐฐ์ด์ด๋ฉด ๋ ๊ฒ ๊ฐ์, ๊ฐ ์ํ๋ฒณ(26) ๋ถ์ธ ๋ฐฐ์ด์ ์ ์ธํ๊ณ , ํด๋น ์ํ๋ฒณ์ด ์ฒ์์ผ๋ก ๋ฑ์ฅํ๋ฉด true๋ก ๋ฐ๊พผ๋ค. ๋จ, ์ฐ์๋์ด ๋ํ๋๋ ๊ฒฝ์ฐ์๋ ๋์ด์ ์ฐ์๋์ง ์์ ๋๊น์ง i++ํ์ฌ ๋ค์ ์ํ๋ฒณ์ผ๋ก ์ด๋ํ๋ค.
์ฝ๋
#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <algorithm>
using namespace std;
bool alpha[26] = { false, };
int main()
{
int T;
cin >> T;
int cnt = 0;
while (T--) {
for (int i = 0; i < 26; i++) alpha[i] = false;
string str;
cin >> str;
bool group_word = true;
for (int i = 0; i< int(str.length());i++) {
int idx = int(str[i] - 'a');
if (alpha[idx] == false)
{
alpha[idx] = true;
while (str[i + 1] == str[i]) i++;
}
else group_word = false;
}
if (group_word) cnt++;
}
cout << cnt;
return 0;
}