๋ฌธ์
๊ทธ๋ฃน ๋จ์ด๋ ๋จ์ด์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฌธ์์ ๋ํด์, ๊ฐ ๋ฌธ์๊ฐ ์ฐ์ํด์ ๋ํ๋๋ ๊ฒฝ์ฐ๋ง์ ๋งํ๋ค. ์๋ฅผ ๋ค๋ฉด, ccazzzzbb๋ c, a, z, b๊ฐ ๋ชจ๋ ์ฐ์ํด์ ๋ํ๋๊ณ , kin๋ k, i, n์ด ์ฐ์ํด์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด์ด์ง๋ง, aabbbccb๋ b๊ฐ ๋จ์ด์ ธ์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด๊ฐ ์๋๋ค.
๋จ์ด N๊ฐ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ทธ๋ฃน ๋จ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ๋ค์ด์จ๋ค. N์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๋จ์ด๊ฐ ๋ค์ด์จ๋ค. ๋จ์ด๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ๋์ด์๊ณ ์ค๋ณต๋์ง ์์ผ๋ฉฐ, ๊ธธ์ด๋ ์ต๋ 100์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๊ทธ๋ฃน ๋จ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
์ํ๋ฒณ ๊ฐ์๋งํผ์ ๋ฒกํฐ๋ฅผ ์์ฑํด์ ์๋ก์ด ์ํ๋ฒณ์ด ๋ค์ด์ฌ ๋๋ง๋ค ํด๋น ์ํ๋ฒณ์ ์ธ๋ฑ์ค๊ฐ์ true๋ก ๋ฐ๊ฟ์ค๋ค.
๋ง์ฝ ์ด์ ๊ณผ ๋ค๋ฅธ ๋ฌธ์๊ฐ ๋์จ ๊ฒฝ์ฐ์๋ ์ธ๋ฑ์ค๊ฐ์ ํ์ธํ๋ค. ์ธ๋ฑ์ค๊ฐ true์ด๋ฉด ํด๋น ์ํ๋ฒณ์ด ๋จ์ด์ ธ์ ๋ํ๋ฌ๋ค๋ ๋ป์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด๊ฐ ์๋๋ค.
#include <iostream>
#include <vector>
using namespace std;
bool isGroup(string word){
char c = '.';
vector<bool> alphabet(26, false);
for (int i=0; i<word.size(); i++){
// 1) ์ฐ์ํด์ ๋ํ๋ ๋ฌธ์์ธ ๊ฒฝ์ฐ
if (word[i] == c)
continue;
// 2) ์ด์ ๊ณผ ๋ค๋ฅธ ๋ฌธ์
if (alphabet[word[i] - 'a'])
return false;
// ๋ฒกํฐ ์
๋ฐ์ดํธ
alphabet[word[i]-'a'] = true;
c = word[i];
}
return true;
}
int main(){
int n;
int result = 0;
string word;
// ์
๋ ฅ
cin >> n;
while (n--) {
cin >> word;
if (isGroup(word))
result++;
}
// ์ถ๋ ฅ
cout << result;
}
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 1026๋ฒ: ๋ณด๋ฌผ (0) | 2022.06.26 |
---|---|
[๋ฐฑ์ค/C++] 13458๋ฒ: ์ํ ๊ฐ๋ (0) | 2022.06.26 |
[๋ฐฑ์ค/C++] 1620๋ฒ : ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ (0) | 2021.09.12 |
[๋ฐฑ์ค/C++] 14425๋ฒ : ๋ฌธ์์ด ์งํฉ (0) | 2021.09.12 |
[๋ฐฑ์ค/C++] 18870๋ฒ : ์ขํ ์์ถ (0) | 2021.09.12 |
๋๊ธ