text: s = "bbabbbbbbbbadd"
  
  """
  가장 긴 팰린드롬 부분 문자열을 출력
  """
  def solution(s):
      len_s = len(s) 
  
      # 예외조건
      if len_s <= 1:
          return s
  
      # 짝수
      even_base_info = []
  
      for i in range(len_s-1):
          s_val = s[i: i+2] # i와 그 다음 element까지
          if s_val[0] == s_val[-1]:
              even_base_info.append([i,2])
  
      print(even_base_info)
  
      # 홀수
      odd_base_info = []
      for i in range(len_s-2):
          s_val = s[i:i+3]
          if s_val[0] == s_val[-1]:
              odd_base_info.append([i,3])
      
      print(odd_base_info)
  
      def rec_panlindrom(s, info):
              if info[0] > 0 and info[0] + info[1] + 1 <= len(s):
                  if s[info[0]-1] == s[info[0]+info[1]]:
                      info[0] = info[0] - 1
                      info[1] = info[1] + 2
                      rec_panlindrom(s, info)
                  return info
              else:
                  return info
              
          even_result = []
          
          for info in even_base_info:
              even_result.append(rec_panlindrom(s, info))
          odd_result = []
          for info in odd_base_info:
              odd_result.append(rec_panlindrom(s, info))
              
          result = even_result + odd_result
          if len(result) == 0:
              return s[0]
          result = sorted(result, key = lambda x: x[1])[-1]
         
          def gen_pal(s, result):
              return s[result[0]:result[0] + result[1]]
          return gen_pal(s, result)
  
  
  
  solution(s)