욕설필터링 알고리즘들

JinYoungMo·2024년 4월 2일

Longest Common Subsequence (LCS, 최장 공통 부분수열)

LCS 알고리즘은 두 시퀀스(예: 문자열, 리스트 등)에서 순서를 유지하면서 양쪽에 모두 나타나는 가장 긴 부분수열을 찾는 알고리즘이다. 이 부분수열은 연속적이지 않아도 된다. 예를 들어, "ABCD"와 "ACBAD"의 최장 공통 부분수열은 "ABD"이다.

Longest Common Substring (최장 공통 부문자열)

이 알고리즘은 두 문자열에서 가장 긴 공통의 연속된 부문자열을 찾는다. 예를 들어, "ABABC"와 "BABCBA"의 최장 공통 부문자열은 "BABC"이다.

Rabin-Karp 알고리즘

Rabin-Karp 알고리즘은 문자열 검색 알고리즘 중 하나로, 하나의 문자열(원본 문자열) 내에서 다른 문자열(패턴)을 검색할 때 사용된다. 이 알고리즘의 핵심은 해시 함수를 사용하여 문자열의 각 부분의 해시 값을 빠르게 계산하고, 이를 통해 패턴의 해시 값과 비교하여 일치하는 위치를 찾는 것이다. 이 알고리즘은 특히 패턴 검색을 여러 번 수행해야 할 때 효율적이다.

0개의 댓글