본문 바로가기

Coding/백준 온라인 저지 (Baekjoon Online Judge)

백준 온라인 저지(Baekjoon Online Judge) - 1316 : 그룹 단어 체커

https://www.acmicpc.net/problem/1316

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net

 

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

int main() {
	int n;
	cin >> n;
	string* word = new string[n];
	int count = 0;
	
	for (int i = 0; i < n; i++) {
		cin >> word[i];
		cin.ignore();
	}

	for (int i = 0; i < n; i++) {
		bool isGroupWord = true;
		// 그룹 단어인지 체크
		int length = word[i].length();
		for (int j = 0; j < length - 1; j++) {
			if (word[i][j] != word[i][j + 1]) {
				for (int k = j + 1; k < length; k++) {
					if (word[i][j] == word[i][k]) {
						isGroupWord = false;
						break;
					}
				}
		
			}
		
		}

		// 그룹 단어가 맞다면
		if (isGroupWord == true)
			count++;
	}

	cout << count;
}