1. 문제 설명
2. 문제 풀이
- 중심값(인덱스)을 기준으로 앞과 뒤의 문자를 비교한다.
- 비교 인덱스는 1부터 늘려가며 조건문을 통해 가장 긴 팰린드롬을 찾는다.
- 주어진 문자열이 홀수인 경우와 짝수인 경우를 구해준다.
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; } }