문자열 · KMP String

KMP Visualizer

본문과 패턴을 직접 입력해 보세요. 입력이 바뀌면 단계가 다시 계산되고, 스크롤에 맞춰 일치하는 위치를 찾아 가는 과정이 보여요.

입력을 바꾸면 단계가 다시 계산돼요. 바꾼 뒤 처음으로 돌아가 스크롤해 보세요.

패턴 ABC
  • 비교 중인 본문
  • 일치
  • 불일치
LPS 표
A0
B0
C0
찾은 위치
아직 찾은 위치가 없어요
STEP 1 / 27scrollYProgress 0.00
이 단계에서는

KMP 탐색을 시작해요. 스크롤을 내려 보세요.

본문 위치
0
패턴 위치
0
찾은 횟수
0

입력이 바뀌면 다시 계산

본문이나 패턴이 바뀔 때마다 getKMPSteps를 다시 실행해요. 스크롤 매핑은 그대로, 단계 배열만 새로 바뀌어요.

useMemo(() =>
  getKMPSteps(text, pattern),
  [text, pattern])