
SIMILAR_TEXT 함수 블록은 두 문자열의 유사성을 계산합니다.
두 문자열의 유사성 계산은 Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1)에서 설명한 방법에 따라 수행됩니다. 이 구현이 Oliver의 의사 코드와 달리 스택을 사용하지 않으며 대신 재귀 호출을 사용하여 성능을 향상시킬 수 있습니다(하지만 반드시 그런 것은 아닙니다). 또한, 이 알고리즘의 복잡도는 O(N³)이며, N은 가장 긴 문자열의 길이를 의미합니다.
입력은 비교할 첫 번째 문자열을 정의합니다.
입력은 비교할 두 번째 문자열을 정의합니다.
출력은 두 문자열에서 일치하는 문자의 수를 반환합니다.
일치하는 문자의 수는 가장 긴 공통 접두사 문자열을 찾고, 이를 재귀적으로 접미사와 반복하여 계산됩니다. 모든 발견된 공통 부분 문자열의 길이를 합산합니다.
출력은 유사성을 백분율로 반환하며, 이는 부동 소수점 수입니다. 이를 위해 결과를 지정된 문자열 길이의 평균으로 나누고 100을 곱합니다.