๋ฌธ์
https://www.acmicpc.net/problem/9251
๋ด ๋ฌธ์ ํ์ด
a = input()
b = input()
dp = [[0 for _ in range(len(b)+1)] for _ in range(len(a)+1)]
for i in range(1, len(a)+1):
for j in range(1, len(b)+1):
if a[i-1] == b[j-1]:
dp[i][j] = dp[i-1][j-1] + 1
else:
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
print(dp[-1][-1])
๐ DP ๋ฌธ์
2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด์ ๊ฐ์ ๊ธ์๊ฐ ์์ ๋๋ง๋ค ์นด์ดํธ๋ฅผ ๋์ ํด์ฃผ์๋ค.
๐ก ํผ๋๋ฐฑ
๋น์ทํ ์ ํ์ ๋ฌธ์ ๋ค์ด ๋ง์๋ฐ,
์์ง ๋ณด์๋ง์ ๋ฐ๋ก ํ์ง๋ ๋ชปํ๋ ๊ฒ ๊ฐ๋ค.
๋ง์ด ํ์ด๋ด์ผ๊ฒ ๋น
'4๏ธโฃ Python > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python Algorithm] ์นด๋ ๊ตฌ๋งคํ๊ธฐ BOJ #11052 (0) | 2022.05.26 |
---|---|
[Python Algorithm] ๋ค๋ฆฌ ๋๊ธฐ BOJ #1010 (0) | 2022.05.26 |
[Python Algorithm] ๋์ 1 BOJ #2293 (0) | 2022.05.26 |
[Python Algorithm] AC BOJ #5430 (0) | 2022.05.24 |
[Python Algorithm] ์ ํ๋ฒํธ ๋ชฉ๋ก BOJ #5052 (0) | 2022.05.24 |
๋๊ธ