๋ฌธ์
๊ทธ๋ฃน ๋จ์ด๋ ๋จ์ด์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฌธ์์ ๋ํด์, ๊ฐ ๋ฌธ์๊ฐ ์ฐ์ํด์ ๋ํ๋๋ ๊ฒฝ์ฐ๋ง์ ๋งํ๋ค. ์๋ฅผ ๋ค๋ฉด, ccazzzzbb๋ c, a, z, b๊ฐ ๋ชจ๋ ์ฐ์ํด์ ๋ํ๋๊ณ , kin๋ k, i, n์ด ์ฐ์ํด์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด์ด์ง๋ง, aabbbccb๋ b๊ฐ ๋จ์ด์ ธ์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด๊ฐ ์๋๋ค.
๋จ์ด N๊ฐ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ทธ๋ฃน ๋จ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ๋ค์ด์จ๋ค. N์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๋จ์ด๊ฐ ๋ค์ด์จ๋ค. ๋จ์ด๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ๋์ด์๊ณ ์ค๋ณต๋์ง ์์ผ๋ฉฐ, ๊ธธ์ด๋ ์ต๋ 100์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๊ทธ๋ฃน ๋จ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
์ด ๋ฌธ์ ๋ ํฌ๊ฒ ๋ ๊ฐ์ง ์กฐ๊ฑด์ผ๋ก ์ ๋ฆฌํ ์ ์๋ค.
<๊ทธ๋ฃน ๋จ์ด๊ฐ ์๋ ์กฐ๊ฑด>
01. ์ด์ ๋จ์ด์ ํ์ฌ ๋จ์ด๊ฐ ์ผ์นํ์ง ์๋๋ค
02. ํ์ฌ ๋จ์ด๊ฐ ์ด์ ์ ๋์จ ์ ์ด ์๋ค.
์ด ์กฐ๊ฑด์ ์ฝ๋๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค.
if๋ฌธ : ๋จ์ด ์ฌ๋ถ ์ฒดํฌ(์กฐ๊ฑด 2)
else if๋ฌธ : ์กฐ๊ฑด1๊ณผ ์กฐ๊ฑด2 ์ฒดํฌ
for (int j = 0; j < str.length(); j++)
{
idx = str[j] - 97;
if (alpha[idx] == 0)
alpha[idx] = 1;
else if (str[j - 1] != str[j] && alpha[idx] == 1){
cnt -= 1;
break;
}
}
์ต์ข ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int line, cnt, idx;
string str;
int alpha[26];
cin >> line;
cnt = line;
for (int i = 0; i < line; i++)
{
cin >> str;
fill_n(alpha, 26, 0);
for (int j = 0; j < str.length(); j++)
{
idx = str[j] - 97;
if (alpha[idx] == 0)
alpha[idx] = 1;
else if (str[j - 1] != str[j] && alpha[idx] == 1){
cnt -= 1;
break;
}
}
}
cout << cnt;
}
๋ฐฐ์ด ์ด๊ธฐํ : fill_n(๋ฐฐ์ด ์ด๋ฆ, ๋ฐฐ์ด ๊ธธ์ด, ์ด๊ธฐํํ๋ ค๋ ๊ฐ)
์ธ๋ฑ์ค char->int : ์๋ฌธ์์ผ ๊ฒฝ์ฐ 97์, ๋๋ฌธ์์ผ ๊ฒฝ์ฐ 65๋ฅผ ๋นผ์ค๋ค.
bool์ ์ด์ฉํ ๋ฐฉ๋ฒ
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 2292๋ฒ : ๋ฒ์ง (0) | 2021.07.24 |
---|---|
[๋ฐฑ์ค/C++] 1712๋ฒ : ์์ต๋ถ๊ธฐ์ (0) | 2021.07.24 |
[๋ฐฑ์ค/C++] 2941๋ฒ : ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2021.07.18 |
[๋ฐฑ์ค/C++] 5622๋ฒ : ๋ค์ด์ผ (0) | 2021.07.18 |
[๋ฐฑ์ค/C++] 2908 : ์์ - reverse, atoi, to_string ์ฌ์ฉ (0) | 2021.07.18 |
๋๊ธ