코드 복사/붙여넣기 하는 당신이 아름답습니다.

1316 : 그룹 단어 체커

풀이

i번째 문자와 i-1번째 문자가 같다면 둘은 연속된 문자이므로 같은 그룹에 속한다.

단어가 그룹에 속해있지 않는 경우는

이미 앞에서 동일한 문자가 나왔고, i번째 문자와 i-1번째 문자가 다른 경우이다.

체킹 배열을 만들어서 체크해주자!

코드

#include <iostream>
#include <string>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);

	int tc, ans = 0;
	string str;
	cin >> tc;
	while (tc--) {
		bool chk[26] = { 0 }, flg = 0;
		cin >> str;
		chk[str[0] - 'a'] = 1;
		for (int i = 1; i < str.size(); i++) {
			int now = str[i] - 'a', prv = str[i - 1] - 'a';
			if (chk[now] && now != prv) flg = 1;
			chk[now] = 1;
		}
		if (!flg) ans++;
	}

	cout << ans;

	return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2017-08-05 21:30

Read more posts by this author