눈팅하는 게임개발자 블로그

백준 알고리즘 1316 본문

공부한거/백준알고리즘

백준 알고리즘 1316

Palamore 2017. 12. 27. 15:39


#include
#include
using namespace std;
int arr[26];
void init() {
	memset(&arr[0], 0, 26 * 4);
}

int main() {
		char a = 'a';
		int n, sum=0;
		cin >> n;
		char str[100][100];
		
		for (int i = 0; i <= n; i++) {
			cin.getline(&str[i][0], 100);
		}
		for (int i = 1; i <= n; i++) {
			init();
			for (int k = 0; k < 100; k++) {
				if (k >= 1) {
					if (str[i][k - 1] != str[i][k] && arr[(int)str[i][k] - (int)a] != 0) {
						break;
					}
				}
				arr[(int)str[i][k] - (int)a]++;
				if (str[i][k + 1] == NULL) {
					sum++;
					break;
				}
			}
		}
		
		cout << sum;

//		while(1);
	return 0;
}

첫번째 문자열(0번째 인덱스)을 제외하고,

이전의 문자열과 현재 해당하는 문자열이 같지 않으며, 그 문자열이 count된 적(arr[]++;)이 있다면.

해당 문자는 그룹 단어가 아니다.라는 알고리즘을 구현.



'공부한거 > 백준알고리즘' 카테고리의 다른 글

백준 알고리즘 2108  (0) 2018.01.08
백준 알고리즘 10989  (0) 2018.01.05
백준 알고리즘 6064  (0) 2018.01.02
백준 알고리즘 2775  (1) 2017.12.29
백준 알고리즘 2448  (0) 2017.12.22