백준 1701 - Cubeditor


백준 1701 - Cubeditor

kmp알고리즘 문자열을 검색할 때 brute force하게 검색한다면 문자열의 길이 l, 패턴의 길이 p일 때, 최악의 경우 시간복잡도는 O(l*p)가 된다. 이를 보완하기위해 일치하지 않는 부분이 발생하면 불일치 전까지는 다시 비교하지 않는 알고리즘이 kmp이다. O(l+p) kmp는 접두사와 접미사의 개념이 사용된다. 문자열 abacaaaba가 있다면 접두사 aba 접미사 aba 접두사와 접미사가 일치하는 최대 길이를 찾아야한다. 일치하는 길이에 대해 점프가 가능하다. 두 포인터가 i = 1, j = 0으로 시작한다면 두 값이 일치하면 i의 위치에 j+1을 넣은 후 i,j의 값을 증가시키고 일치하지 않는다면 i의 값만 증가시키고 j의 값은 감소시킨다. 이때 두 값이 같..........

백준 1701 - Cubeditor에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : 백준 1701 - Cubeditor