Menu
CoddyTech

Longest Common Subsequence

두 개의 문자열 text1과 text2가 주어집니다. 문자열의 부분 수열은 일부 문자를 원래 순서대로 유지하고 나머지는 제외한 것입니다. 유지된 문자들은 서로 이웃할 필요가 없습니다. 두 문자열 모두의 부분 수열인 가장 긴 문자열의 길이를 반환하고, 두 문자열에 공통 문자가 없으면 0을 반환하세요.

함수

longestCommonSubsequence(text1: string, text2: string) → integer
text1string
첫 번째 문자열
text2string
두 번째 문자열
반환값integer
최장 공통 부분 수열의 길이

제약 조건

  • 1 ≤ text1.length ≤ 1000
  • 1 ≤ text2.length ≤ 1000
  • 두 문자열 모두 소문자 영어 문자만 포함합니다.

예제

입력
text1 = "stone"text2 = "longest"
출력
3
설명
o, n, e는 두 단어 모두에서 이 순서로 나타나므로, one은 길이가 3인 공통 부분 수열입니다. longest에서는 s와 t가 마지막에 오고, stone에서는 처음에 오므로, 이 문자들을 사용하는 공통 부분 수열은 st뿐이며, 이는 더 짧습니다.

lock icon제출 시 숨은 테스트 +19개

challenge icon

후속 질문

최장 공통 부분 수열의 길이만이 아니라, 최장 공통 부분 수열 자체를 반환할 수 있나요?

코드 초기화
def longestCommonSubsequence(text1, text2):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

text1 = "stone"
text2 = "longest"

기대값

3