KMP법
- 다른 문자를 만나면 패턴을 1칸씩 옮긴 다음 다시 패턴의 처음부터 검사하는 브루트-포스법과는 다르게, 검사했던 위치 결과를 버리지 않고 이를 효율적으로 활용하는 알고리즘
- 텍스트와 패턴의 겹치는 부분을 찾아내어 검사를 다시 시작할 위치를 구함
- 패턴을 최소의 횟수로 옮겨 알고리즘의 효율을 높임
- '몇 번째 문자부터 다시 검색할지'에 대한 값을 미리 '표'로 만듦
- 표를 작성할 때 패턴 안에서 중복되는 문자의 나열을 찾아야 하는데, 이 과정에서 KMP법을 사용