$O(nl)$
쓰였던 문자의 위치를 저장하고 문자가 이미 쓰인적이 있다면 그 때의 위치와 연속되어 있는지 확인하자.
#include<stdio.h> #include<string.h> int n, p[200], res; char str[101]; int main() { scanf("%d", &n); res = n; for (int i = 0; i < n; i++) { memset(p, -1, sizeof(p)); scanf("%s", str); for (int j = 0; str[j]; j++) if (p[str[j]] == -1 || p[str[j]] == j - 1) p[str[j]] = j; else { res--; break; } } printf("%d", res); return 0; }
댓글 없음 :
댓글 쓰기