이세개발

01 당장 좋은 것만 선택하는 그리디

02 아이디어를 코드로 바꾸는 구현

03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS

04 기준에 따라 데이터를 정렬

05 범위를 반씩 좁혀가는 탐색

06 다이나믹 프로그래밍

07 가장 빠른 길 찾기

08 다양한 그래프 알고리즘

 

[문제]

두 개의 문자열 A와 B가 주어졌을 때 문자열 A를 편집하여 문자열 B를 만들고자 합니다. 문자열 A를 편집할 때는 다음의 세 연산 중에서 한 번에 하나씩 선택하여 이용할 수 있습니다.

  1. 삽입 (Insert) : 특정한 위치에 하나의 문자를 삽입합니다.
  2. 삭제 (Remove) : 특정한 위치에 있는 하나의 문자를 삭제합니다.
  3. 교체 (Replace) : 특정한 위치에 있는 하나의 문자를 다른 문자로 교체합니다.

이때 편집 거리란 문자열 A를 편집하여 문자열 B로 만들기 위해 사용한 연산의 수를 의미합니다. 문자열 A를 문자열 B로 만드는 최소 편집 거리를 계산하는 프로그램을 작성하세요. 예를 들어 "sunday"와 "saturday"의 최소 편집 거리는 3입니다.

[입력조건]

  • 두 문자열 A와 B가 한 줄에 하나씩 주어집니다.
  • 각 문자열은 영문 알파벳으로만 구성되어 있으며, 각 문자열의 길이는 1보다 크거나 같고, 5,000보다 작거나 같습니다.

[출력조건]

  • 최소 편집 거리를 출력합니다.

입력예시1

cat
cut

출력예시1

1

입력예시2

sunday
saturday

출력예시2

3
profile

이세개발

@print(name)

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!