두 문자열에서 공통 하위 문자열 찾기
두 문자열이 공유하는 공통 하위 문자열을 식별하는 것은 프로그래밍에서 일반적인 작업입니다. 문제 설명에 표시된 대로 두 개의 입력 문자열이 있다고 가정합니다.
<br>string1 = "apples"<br>string2 = "appleses"<br>
이 경우 공통 하위 문자열은 "apples"입니다. 마찬가지로 더 복잡한 예의 경우:
<br>string1 = "apple Pie available"<br>string2 = "apple pies"<br>
예상 출력은 공유 하위 문자열을 나타내는 "apple Pie"여야 합니다.
difflib를 사용한 Python 솔루션
Python에서 이 문제를 효율적으로 해결하기 위해 다음을 활용할 수 있습니다. 표준 라이브러리에 포함된 difflib 모듈. 특히 SequenceMatcher의 find_longest_match() 메서드를 활용하면 두 문자열 사이에서 가장 긴 공통 부분 문자열을 식별할 수 있습니다.
<code class="python">from difflib import SequenceMatcher string1 = "apple pie available" string2 = "come have some apple pies" match = SequenceMatcher(None, string1, string2).find_longest_match() print(match) # Output: Match(a=0, b=15, size=9) print(string1[match.a:match.a + match.size]) # Output: "apple pie" print(string2[match.b:match.b + match.size]) # Output: "apple pie"</code>
Python 3.9 이전 버전에서 find_longest_match() 메서드에는 추가 인수가 필요합니다.
<code class="python">SequenceMatcher(None, string1, string2).find_longest_match(0, len(string1), 0, len(string2))</code>
이 접근 방식을 사용하면 입력 문자열 쌍에서 공통 부분 문자열을 효과적으로 추출할 수 있어 공유 시퀀스를 찾는 작업이 단순화됩니다.
위 내용은 Python에서 두 문자열 사이의 가장 긴 공통 부분 문자열을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!