문자열 a와 b가 주어졌을 때, a에 연산을 최소 횟수로 수행해 b로 만들고자 한다.
a에 적용할 수 있는 연산은 총 3가지이며 아래와 같다.
- 연산
삽입(Add): a의 한 위치에 문자 하나를 삽입, 이 때의 비용은 5가 발생한다.
삭제(Delete): a의 문자 하나 삭제, 이 때의 비용은 5가 발생한다.
교체(Replace): a의 문자 하나를 다른 문자로 교체. 이 때의 비용은 다음과 같이 발생한다.
(a) 대소문자만 다른 경우(예. a와 A): 1
(b) 둘 다 숫자인 경우(예. 3과 5): abs(a[i] - b[j]) = abs(3 – 5) = 2
(c) 하나는 알파벳, 다른 하나는 숫자인 경우(예. a와 3): 7
(d) 둘 다 알파벳이면서 다른 경우(예. a와 c): 5
(e) 동일한 경우: 0
두 문자열이 주어졌을 때, 최소 비용(최소 편집 횟수)를 구하는 프로그램을 작성하시오.
(입력)
첫째 줄에 a, 두번째 줄에 b가 입력으로 주어진다.
(출력)
최소 비용(최소 편집 횟수)를 출력하시오.
(예제 1)
- 입력
abc
aBc
- 출력
1
(예제 2)
- 입력
123
a129
- 출력
11
(예제 3)
- 입력
abc123
abcd
- 출력
17
풀어보삼
니 숙제는 니가 알아서
쫄?