Skip to content

Commit a94e7af

Browse files
committed
[BOJ] 최소 편집 / 골드3 / 60분 실패
https://www.acmicpc.net/problem/15483
1 parent 4c8f16a commit a94e7af

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import sys
2+
3+
# 두 문자열 입력
4+
a = sys.stdin.readline()
5+
b = sys.stdin.readline()
6+
7+
# 최소 편집 거리 계산을 위한 DP 테이블 생성
8+
dp = [[0]*(len(b)+1) for _ in range(len(a)+1)]
9+
10+
# 최소 편집 거리 계산
11+
for i in range(len(a)+1):
12+
for j in range(len(b)+1):
13+
# 첫 번째 행일 경우
14+
if (i == 0):
15+
dp[i][j] = j
16+
# 첫 번째 열일 경우
17+
elif (j == 0):
18+
dp[i][j] = i
19+
else:
20+
# 현재 문자가 같다면, 왼쪽 위에 해당하는 수를 그대로 대입
21+
if (a[i-1] == b[j-1]):
22+
dp[i][j] = dp[i-1][j-1]
23+
# 현재 문자가 다르다면,
24+
# 세 가지 경우[삽입(왼쪽), 삭제(위쪽), 교체(왼쪽 위)] 중에서 최솟값을 찾고 +1
25+
else:
26+
dp[i][j] = 1 + min(dp[i][j-1], dp[i-1][j], dp[i-1][j-1])
27+
28+
print(dp[len(a)][len(b)])

0 commit comments

Comments
 (0)