1. 문제 설명


2. 문제 풀이

  1.  중심값(인덱스)을 기준으로 앞과 뒤의 문자를 비교한다.
  2.  비교 인덱스는 1부터 늘려가며 조건문을 통해 가장 긴 팰린드롬을 찾는다.
  3.  주어진 문자열이 홀수인 경우와 짝수인 경우를 구해준다.

3. 소스코드

public class LongPalindrome {
    public int solution(String s)
    {
        int answer = 0, front = 0, end = 0;
        for (int i = 1 ; i < s.length(); i++){
            front = i - 1;
            end = i + 1;
            while (front >= 0 && end < s.length() && s.charAt(front) == s.charAt(end)){
                if (end - front + 1 > answer){
                    answer = end - front + 1;
                }
                front--;
                end++;
            }

            front = i - 1;
            end = i;
            while (front >= 0 && end < s.length() && s.charAt(front) == s.charAt(end)){
                if (end - front + 1 > answer){
                    answer = end - front + 1;
                }
                front--;
                end++;
            }
        }
        return answer;
    }
}