Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

hwooo

(C) 1316번: 그룹 단어 체커 본문

Study/Algorithm

(C) 1316번: 그룹 단어 체커

hwooo 2022. 6. 13. 05:22

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

 

1316번: 그룹 단어 체커

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

www.acmicpc.net

 


풀이

알파벳이 나온 횟수가 1 이상이고, 해당 알파벳 바로 전 알파벳이 같지 않은 경우에는 반복문을 중단했다.

문자열의 끝까지 확인한 경우에만 그룹 단어를 세는 방식으로 코드를 구현했다.

코드

#include <stdio.h>
int main() {
	char word[101];
	int N, i, j, flag, cnt = 0, atoz[26] = { 0, };

	scanf("%d", &N);
	for (i = 0; i < N; i++) {
		scanf("%s", &word);

		j = 0;
		while (word[j] != NULL) {
			atoz[word[j] - 'a']++;
			if (atoz[word[j] - 'a'] > 1 && word[j] != word[j - 1]) break;
			j++;
		}
		if (word[j] == NULL) cnt++;

		for (j = 0; j < 26; j++) atoz[j] = 0;
	}
	printf("%d", cnt);
	return 0;
}

'Study > Algorithm' 카테고리의 다른 글

(C) 2292번: 벌집  (0) 2022.06.28
(C) 1712번: 손익분기점  (0) 2022.06.27
(C) 2941번: 크로아티아 알파벳  (0) 2022.06.13
(C) 5622번: 다이얼  (0) 2022.06.13
(C) 2908번: 상수  (0) 2022.06.13