kmp 알고리즘문자열 탐색 알고리즘이다.내가 찾을 문자열을 파싱해서 사전 정보를 만들어 놓는다. 이 때 만들어지는 사전 정보는 문자열이 반복되는 정보이다. 내가 찾을 문자열에서 반복되는 패턴을 파악해 반복되는 탐색을 최대한 제거한다. 예로 내가 찾을 문자열이ABXAB 라면 사전 정보는 {0, 0, 0, 1, 2} 가 된다. X 뒤에 등장하는 A는 앞의 A와 겹치므로, 만약 A 다음에서 탐색에 실패하면 문자열 처음부터 다시 탐색을 하는 것이 아니라 문자열의 2번째 문자인 X 이전 B ( index 로 pattern[1]) 와 비교를 재개하면 된다. For the pattern “AABAACAABAA”, dictionary information ... -> {0.1.0.1.2.0.1.2.3.4.5}