만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

최소 편집 2

면접 대비

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

요약
두 문자열 A와 B가 주어질 때 삽입, 삭제, 교체, 인접 교환 연산만으로 A를 B로 바꾸는 최소 연산 횟수를 구한다. 두 문자열의 길이는 최대 1000이다.
난이도

보통10점 중 7점

유형
동적 계획법, 문자열, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

두 문자열 A와 B가 주어졌을 때, A에 연산을 최소 횟수로 적용해 B로 만드는 문제를 최소 편집 문제라고 한다.

A에 적용할 수 있는 연산은 네 가지다.

  1. 삽입: A의 한 위치에 문자 하나를 넣는다.
  2. 삭제: A에서 문자 하나를 지운다.
  3. 교체: A의 문자 하나를 다른 문자로 바꾼다.
  4. 교환: A에서 인접한 두 문자의 자리를 맞바꾼다.

연산은 현재 문자열에 차례대로 적용한다.

두 문자열이 주어지면 최소 편집 횟수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 문자열 A가, 둘째 줄에 문자열 B가 주어진다. 두 문자열은 알파벳 소문자로만 이루어지고, 길이는 1자 이상 1000자 이하이다.

출력

첫째 줄에 최소 편집 횟수를 출력한다.

예제10

  1. 예제 1

    입력
    abc
    ab
    
    예상 출력
    1
    
  2. 예제 2

    입력
    ca
    abc
    
    예상 출력
    2
    
  3. 예제 3

    입력
    abc
    cba
    
    예상 출력
    2
    
  4. 예제 4

    입력
    abcd
    bcde
    
    예상 출력
    2
    
  5. 예제 5

    입력
    abababababa
    aaabbbbbaaa
    
    예상 출력
    4
    
  6. 예제 6

    입력
    baab
    abba
    
    예상 출력
    2
    
  7. 예제 7

    입력
    ababababab
    bababababa
    
    예상 출력
    2
    
  8. 예제 8

    입력
    abcdefghijkl
    badcfehgjilk
    
    예상 출력
    6
    
  9. 예제 9

    입력
    axxayyazza
    azzayyaxxa
    
    예상 출력
    4
    
  10. 예제 10

    입력
    axxayyazza
    xaaxyyzaaz
    
    예상 출력
    4