본문 바로가기
LeetCode/코딩 테스트 스터디 2주차

[LeetCode] 5. Longest Palindromic Substring 풀이 (JS)

by inwoo1324 2022. 7. 17.

0. 문제

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

 

Longest Palindromic Substring - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

문자열이 주어지면 가장 긴 회문 부분을 반환하는 문제

#1
Input: s = "babad"
Output: "bab"
#2
Input: s = "cbbd"
Output: "bb"

 

1.언어

자바스크립트(JavaScript)

 

2. 문제 풀이

const longestPalindrome = (s) => {
  let answer = s[0];
  for (let i=0; i < s.length; i++) {
    for (let j=i+answer.length; j < s.length; j++) {
      if (s[i] === s[j] && isPalindrome(s, i, j) ) {
        answer = s.slice(i, j+1);
      }
    }
  }
  return answer;
};
const isPalindrome = (string, left, right) => {
  let returnIsPalindrome = true;
  while (left < right) {
    if (string[left] !== string[right]) {
      return returnIsPalindrome = false;
    }
    left++;
    right--;
  }
  return returnIsPalindrome;
}
Runtime: 635 ms, faster than 30.54% of JavaScript online submissions for Longest Palindromic Substring.
Memory Usage: 43.3 MB, less than 93.78% of JavaScript online submissions for Longest Palindromic Substring.
 
이중포문으로 회문길이,  회문 인덱스 를 모두 체크하는 코드