✅ 정답 공개
s = input().strip()
n = len(s)
is_pal = [[False]*n for _ in range(n)]
for i in range(n):
is_pal[i][i] = True
for length in range(2, n+1):
for i in range(n-length+1):
j = i+length-1
if s[i] == s[j]:
is_pal[i][j] = (length == 2) or is_pal[i+1][j-1]
dp = [float('inf')] * n
for i in range(n):
if is_pal[0][i]:
dp[i] = 0
else:
for j in range(1, i+1):
if is_pal[j][i]:
dp[i] = min(dp[i], dp[j-1]+1)
print(dp[n-1])