문자열 거리

시간 제한2초메모리 제한128 MB

요약
문자열 O에 임의의 문자열들을 삽입해서 N으로 만들 때 필요한 최소 삽입 횟수를 구하고, 불가능하면 -1을 출력하는 문제입니다.
난이도

보통10점 중 6점

유형
동적 계획법, 문자열, 문자열 매칭, 배열
정답자
아직 제출이 없습니다

문제

문자열 O에서 문자열 N까지의 문자열 거리는, O를 N과 같게 만들기 위해 수행해야 하는 문자열 삽입 횟수의 최솟값이다. 한 번의 삽입에서는 O의 맨 앞, 맨 뒤, 또는 두 문자 사이 원하는 위치에 임의의 문자열을 끼워 넣을 수 있다.

두 문자열 O와 N이 주어질 때, O에서 N까지의 문자열 거리를 구하라.

입력

첫째 줄에 문자열 O, 둘째 줄에 문자열 N이 주어진다. 각 문자열의 길이는 1,000 이하이다. 문자열은 ASCII 코드 값이 32 이상 126 이하인 문자로만 이루어진다. 줄 전체가 문자열이므로 공백도 문자열에 포함된다.

출력

첫째 줄에 문자열 O와 문자열 N의 문자열 거리를 출력한다. O를 N으로 만들 수 없다면 -1을 출력한다.

예제4

  1. 예제 1

    입력
    hello fine
    hello, how are you? I'm fine thank you and you?
    
    예상 출력
    2
    
  2. 예제 2

    입력
    aaaaa
    ababababa
    
    예상 출력
    4
    
  3. 예제 3

    입력
    no way
    No way!
    
    예상 출력
    -1
    
  4. 예제 4

    입력
    abcefijklmnopuvwxz
    abcdefghijklmnopqrstuvwxyz
    
    예상 출력
    4