[프로그래머스] Level3 - 가장 긴 팰린드롬

 
by 박신종

> 문제

문제 : [가장 긴 팰린드롬]



> 문제풀이

팰린드롬은 거꾸로 읽어도 같은 문자를 말한다.

주어진 문자열에서 가장 긴 팰린드롬을 찾는 문제이다.

따라서, 가장 긴 문자열부터 팰린드롬 체크를 해서, 맞다면 그 문자열의 길이를 리턴해주었다.

소스는 다음과 같다.

class Solution{
    public int solution(String s){
        int len = s.length();
        for(int l = len; l > 1; l--){
            for(int i=0; i+l <= len; i++){
                boolean check = true;
                for(int j=0; j<l/2; j++){
                    char f = s.charAt(i+j);
                    char b = s.charAt(i+l-j-1);
                    if(f!=b) {
                        check = false;
                        break;
                    }
                }
                if(check) return l;
            }
        }
        return 1;
    }
}




문제 출처 : Programmers