[프로그래머스] 가장 긴 펠린드롬 (파이썬, javascript)

728x90
반응형

* 문자열 뒤집기 [::-1] 또는 ''.join(reversed(s))

def solution(s):
    answer = 0
    for i in range(1,len(s)+1):
        for j in range(0,i):
            if s[j:i]==s[j:i][::-1]:
                if len(s[j:i])>answer:
                    answer=len(s[j:i])
    return answer

2. javascript

제일 긴 문자열부터 모든 위치에 있을 수 있는 경우의 수를 검사한다.

function solution(s)
{
    for(let i=s.length;i>=1;i--){
        let flag=false;
        for(let j=0;j<=s.length-i;j++){
            let str=s.substr(j,i);//시작지점, 길이
            if(isPalindrome(str)){
                return i;
            }   
        }
    }
    function isPalindrome(str){
        let mid=parseInt(str.length/2);
        for(let i=0;i<mid;i++){
            if(str[i]!==str[str.length-1-i])return false;
        }
        return true;
    }
    return 1;

}
728x90
반응형
TAGS.

Comments