1. KMP란?

⇒ 즉, 특정 패턴이 주어졌을 때 전체 문자열빠르게 검색하여 그 패턴이 어디에 등장하는지 찾아주는 알고리즘

시간복잡도 : O(n+m)

→ 완전탐색은..O(nm)


2. KMP의 원리

1) 주어진 패턴에 대해 skip 배열을 만든다.

`skip`은 패턴의 각 인덱스마다 접두사와 접미사가 동일한 갯수

2) skip 배열을 활용하여 패턴의 등장 위치를 찾는다. (빠르게)

※ 먼저 알아야 하는 것!

자, 드가자-!

kmp_match.py 코드를 실행할 때,
s1 = "abcabgabcaabcabcabgabcaef"
s2 = "abcabgabcae"
가 입력으로 주어지면
skip 배열과 count 값이 어떻게 될 지 맞춰 보시면 됩니다.
kmp_match.py는 책에 있는 걸 그대로 옮겨 오되, print 문만 추가했습니다.