백준 15482번 바로가기
나의 풀이#
# 입력 - python의 경우 유니코드 처리 없이도 가능하다!! 갓갓
import sys
read = sys.stdin.readline
A, B = read().strip(), read().strip()
n, m = len(A), len(B)
LCS = [[0] * (m + 1) for _ in range(n + 1)]
# 처리 - LCS 알고리즘 이용
for i in range(1, n + 1):
for j in range(1, m + 1):
if A[i - 1] == B[j - 1]:
LCS[i][j] = LCS[i - 1][j - 1] + 1
else:
LCS[i][j] = max(LCS[i - 1][j], LCS[i][j - 1])
print(LCS[n][m])
CODE REVIEW#
- 백준 9251 - LCS 문제의 연장선.
- C++의 경우 한글을 유니코드 처리해서 3글자씩 끊어서 비교해야하는데, python은 그럴 필요가 없다. 역시 갓갓 언어!! python 사랑해요.