class Solution:
def valid(self, s):
for i in range(len(s)//2):
if s[i] != s[-i-1]:
return False
return True
def search(self, s, prev,ans):
if s == '':
ans.append(prev)
return
for i in range(len(s)):
if self.valid(s[:i+1]):
self.search(s[i+1:], prev + [s[:i+1]], ans)
def partition(self, s: str) -> List[List[str]]:
ans = []
self.search(s, [], ans)
return ans
길이가 짧아서 밑에 restore ip address랑 정확하게 같은 방법으로 풀림..
https://leetcode.com/problems/palindrome-partitioning/