[LeetCode] 5. Longest Palindromic Substring

Joohyun·2021년 8월 6일

Algorithm

목록 보기
16/16
post-thumbnail

문제링크

https://leetcode.com/problems/longest-palindromic-substring/

제출 코드

/**
 * @param {string} s
 * @return {string}
 */
var longestPalindrome = function(s) {
    let result = s[0]
    function checkResult(val) {
        if (val.length > result.length) {
          result = val  
        }
    }
    // 홀수
    for (let i = 0; i<s.length-1; i++) {
        for (let j = 1; j<s.length; j++) {
            if(s[i-j] === s[i+j] && s[i-j]) {
                checkResult((s.slice([i-j], [i+j+1])))
                continue
            } else {
                break
            }
        }
    }
    // 짝수
    for (let i = 0; i<s.length-1; i++) {
        for (let j = 1; j<s.length; j++) {
            if (s[i] === s[i+1]) {
                if (s[i-j] === s[i+j+1] && s[i-j]) {
                    checkResult((s.slice([i-j], [i+j+2])))
                } else {    
                    checkResult(s[i] + s[i+1])
                    break
                }
            } else {
               break 
            }
        }
    }
    return result
};

풀이 방법

for문을 돌며 Palindromic이 홀수인 경우와 짝수인 경우를 확인
이중 for문을 두번 돌렸더니 런타임이 답이 없다...
개선해서 다시 풀어봐야 겠다...

profile
#Frontend Developer #Vue #Javascript #Typescript

0개의 댓글