#include <stdio.h>
#include <string.h>
void main()
{
int count = 0;
char buff[100];
char original[100],search[100];
char *tok;
gets(original);
gets(search);
tok = strtok(original, " .,?");
while (tok != NULL)
{
sprintf(buff, "%s", tok);
if (strcmp(buff, search) == 0)
count++;
tok = strtok(NULL, " .,?");
}
printf("%d", count);
}
이렇게 짰는데요
이렇게 짰는데요
문제는...
search 문자열이 can일 때
original 문자열에 cancer가 있으면 cancer안에 can을 못세고있는데
어떻게 해야할지 잘 모르겠어요 ㅠㅠㅠ
글자를 비교했는데 c면은 그다음 a를 비교 그다음 n 을비교해서 canㅇ ㅣ있다는걸 알아내면되지 만약 c까지맞고 d가나오면 일치하지않으니 넘어가는걸짜바
kmp 알고리즘 ㄱ - dc App