01
Processing Data. Please Wait...

최대글자체인

Dynamic Programming 고급
30초 미리보기

최대글자체인

주어진 문자목록에서 최대글자체인을 반환하는 함수를 작성합니다.

글자체인은 다음과 같이 정의됩니다: 문자열 A가 있다고 생각 합시다. 문자열 A에서 단 한개의 글자를 제거한 새 문자열을 B라고 하면, 문자열 A와 B는 길이가 2인 글자체인을 형성합니다. 마찬가지로 문자열 B에서 단 한개의 글자를 제거하여 새 문자열 C가 만들어지면 문자열 A, B, C는 길이 3인 글자체인을 형성하게 됩니다.

함수는 내림차순(즉, 가장 긴 문자열에서 가장 짧은 문자열까지)으로 문자열 체인을 반환해야 합니다.

주의: 길이가 1인 글자체인은 존재하지 않습니다. 주어진 문자목록에 두 개 이상의 문자열로 구성된 글자체인이 존재하지 않으면 함수는 빈 배열을 반환해야 합니다.

가장 긴 문자열 체인은 하나만 있다고 가정하세요.

예제 1

입력

words = [
    "abde", 
    "abc", 
    "abd", 
    "abcde", 
    "ade", 
    "ae", 
    "1abde", 
    "abcdef"
]

출력

["abcdef", "abcde", "abde", "ade", "ae"]