눈팅하는 게임개발자 블로그
백준 알고리즘 1316 본문
#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 |