KMP 알고리즘이란? 위키백과에 따르면 커누스(Knuth),모리스(Morris),프랫(Pratt) 이 발견한 문자열 일치 문제에 대해 패턴정보를 활용하여 검색시간을 단축하는 방식 이라고 정의 되어 있습니다. 이러한 문제는 다음과 같은 경우에 빠른 시간에 문자열을 검색하기 위한 알고리즘인데요. 위와 같이 네이버에서 원당컴퓨터학원을 찾기 하면 원당컴퓨터학원이라는 글자에 표시가 되는 것을 조금 더 빠르게 해결하기 위한 패턴입니다. KMP 알고리즘을 이해 하기 전에 먼저 브루트포스법 이라고 하는 알고리즘을 살펴 보겠습니다. 만약 문자열 S="ABCDABCDABBABCDABCDWZ" 가 있고 찾을 문자열 P="ABCDABCWZ" 라는 문자열이 있다면 우리가 알고 있는 알고리즘은 다음과 같습니다. ABCDABCDA..