알고리즘 | Algorithm
[LeetCode 리트코드] Longest Palindromic Substring | Python3 파이썬
개발자R
2021. 2. 15. 21:58
반응형
문제
Given a string s, return the longest palindromic substring in s
--> 주어진 문자열 s내의 가장 긴 펠린드롬을 찾아라
예
input : s = "babad"
output : "bab"
추가사항
- 1 <= s.length <= 1000
나의 솔루션
class Solution:
def longestPalindrome(self, s: str) -> str:
length = len(s)
result = ''
for i, s_str in enumerate(s):
if len(result) > len(s[i:]):
return result
j = -1
while j < length - len(result):
j += 1
if s_str == s[length-1-j] and s[i: length-j] == s[i: length-j][::-1]:
result = s[i: length-j] if len(s[i: length-j]) > len(result) else result
break
return result
깨달은 점
처음에 s[i: length-j] == s[i: length-j][::-1] 을 생각 못하고 그냥 함수를 만들어서 포문으로 isPalindrome을 만들었더니 시간초과가 떴다.... 단지 저것만 바꾸었을 뿐인데 제출이 되다니!!!
그런데 상당히 느리다... ㅜㅜ 아무래도 DP를 써서 다시 풀어봐야겠다.
결과
Submission Detail
반응형