BOJ 1316 그룹 단어 체커

Link

각 문자가 떨어지지 않고 연속으로 나타나는 단어를 그룹 단어라고 정의하고 있네요.

나온 문자를 체크하여 문자가 바뀔때마다 앞에 이미 나온 문자로 바뀌었나 확인해줍니다.
앞에 이미 나온 문자로 바뀐다면 그룹 단어가 아니겠네요.

코드 (C++)

#include <iostream>
#include <cstring>

using namespace std;

int main(int argc, const char *argv[]) {
cin.tie(nullptr);
ios::sync_with_stdio(false);

int T, res = 0;
cin >> T;

char str[40];
while (T--) {
cin >> str;

bool chk[26] = {false}, flag = false;
chk[str[0] - 'a'] = true;

for (int i = 1; i < strlen(str); i++) {
int ptr = str[i] - 'a', prev = str[i - 1] - 'a';

if (chk[ptr] && ptr != prev) {
flag = true;
}
chk[ptr] = true;
}
if (!flag) {
res++;
}
}
cout << res << endl;

return 0;
}
Total views

댓글

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×