반응형
문제
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
반응형
'알고리즘 | Algorithm' 카테고리의 다른 글
프로그래머스 | 2022 KAKAO BLIND RECRUITMENT > k진수에서 소수 개수 구하기 - 파이썬 (0) | 2022.04.13 |
---|---|
프로그래머스 | 2022 KAKAO BLIND RECRUITMENT> 신고 결과 받기 (0) | 2022.04.10 |
[LeetCode 리트코드] Max Number of K-Sum Pairs, python (0) | 2021.01.18 |
[LeetCode 리트코드] Add Two Numbers, python 파이썬 (0) | 2021.01.12 |
[LeetCode 리트코드] Merge Sorted ArraySolution (0) | 2021.01.12 |