처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / 알고리즘 / 문제

라빈-카프(Rabin-Karp) 알고리즘의 핵심 기법은?

어려움 freeCodeCamp
보기 및 정답
A 문자열의 각 문자를 이진 트리의 노드로 변환하여 트리 탐색으로 패턴을 찾는다
B 롤링 해시(Rolling Hash)를 사용하여 문자열 패턴 매칭을 효율적으로 수행한다
C 문자열을 알파벳순으로 정렬한 후 이진 탐색을 활용하여 패턴의 위치를 찾는다
D 동적 프로그래밍 테이블을 구성하여 두 문자열 간의 최장 공통 부분 수열을 효율적으로 구한다

해설

라빈-카프 알고리즘은 텍스트의 각 윈도우에 대한 해시값을 롤링 해시로 O(1)에 계산하여 패턴의 해시값과 비교합니다. 해시가 일치하면 실제 문자를 비교합니다. 평균 시간 복잡도가 O(n+m)이며, 다중 패턴 검색에서 특히 효율적입니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기