From cde131761ebb1c40f180c0d13e080a1993119bcd Mon Sep 17 00:00:00 2001 From: ssun <56533266+blaire-pi@users.noreply.github.com> Date: Fri, 2 May 2025 17:16:43 +0900 Subject: [PATCH] Create 1509 yerin.py --- BaekJoon/1509/yerin.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 BaekJoon/1509/yerin.py diff --git a/BaekJoon/1509/yerin.py b/BaekJoon/1509/yerin.py new file mode 100644 index 0000000..6084948 --- /dev/null +++ b/BaekJoon/1509/yerin.py @@ -0,0 +1,24 @@ +s = input().strip() +n = len(s) + +is_pal = [[False] * n for _ in range(n)] +dp = [float('inf')] * (n + 1) +dp[0] = 0 + +for i in range(n): + is_pal[i][i] = True + +for i in range(n - 1): + is_pal[i][i + 1] = (s[i] == s[i + 1]) + +for length in range(3, n + 1): + for start in range(n - length + 1): + end = start + length - 1 + is_pal[start][end] = (s[start] == s[end]) and is_pal[start + 1][end - 1] + +for i in range(1, n + 1): + for j in range(i): + if is_pal[j][i - 1]: + dp[i] = min(dp[i], dp[j] + 1) + +print(dp[n]) \ No newline at end of file