KMP 알고리즘 KMP 알고리즘은 문자열 중에 특정한 패턴을 찾아내는 문자열 검색 알고리즘이다. 보통 문자열을 검색하기 위해 자바에서는 아래와 같이 indexOf를 이용해서 쉽게 문자열 포함 여부 및 포함 위치를 알아낼 수 있다. String str1 = "abcdefgh"; String str2 = "cdef"; System.out.println(str1.indexOf(str2)); // 2 하지만 이 방법은 모든 경우를 비교해서 찾아내는 방법으로 최악의 시간 복잡도를 가진다. 그래서 짧은 문자열이나 반복 작업이 아니라면 indexOf를 사용하는 것이 괜찮을지라도 긴 문자열이나 문자열 검색을 자주 실행해야 한다면 더 효율적인 문자열 검색 알고리즘이 필요할 것이다. 본인도 백준 문제(16916 - 부분 ..