input :
output :
조건 :
Solution explain : Solution1
substring의 길이를 1 ~ len(s)까지 만들면서 가장 큰 것부터 내려오며 확인을 한다.
입력 값의 최대 길이가 1000이므로 최대 1,000,000의 연산이 수행되어 괜찮은 듯 하다.
DP : DP approach from geeksforgeeks
class Solution:
def longestPalindrome(self, s: str) -> str:
for i in range(len(s), -1, -1):
start = 0
while start + i <= len(s):
temp = s[start: start + i]
rev_temp = temp[::-1]
if temp == rev_temp:
return temp
start += 1
# s = Solution()
# print(s.longestPalindrome("babad"))
# print(s.longestPalindrome("cbbd"))