이 문제는 처음 봤을 때 그냥 간단한 문자열 비교 문제인가 했다. 하지만 범위가 100만 이하라는 것을 보고 다른 알고리즘의 필요성을 느껴 관련한 알고리즘을 찾아봤다. 그런데 이게 왠걸? 이전에 한번 구현하려다 실패한 KMP알고리즘을 쓰는 것이 아니겠는가. 예전에 클래스 3에 있는 실딱이 문제를 풀다가 특정 문자열을 찾는 위와 비슷한 문제를 풀려고 한 적이 있었다. 그 떄 KMP알고리즘에 대해 한번 접한 적이 있었다. 하지만 그 땐 알고리즘에 대한 경험도 적었고 무엇보다도 위 알고리즘에 사용되는 LPS라는 알고리즘이 전혀 이해가 가질 않아 구현 중 포기했던 문제였다. 하지만 진화를 거둔 지금, 다시 한번 이 알고리즘에 도전해보았다. 아이디어는 간단하다. 문자열 매칭을 시키면서 겹치는 부분이 만약에 발생을..