[LeetCode] 5. Longest Palindromic Substring
2021. 1. 7. 00:48ㆍProblem Solving/LeetCode
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
내 풀이
class Solution: def longestPalindrome(self, s: str) -> str: if len(s) < 2 or s[:] == s[::-1]: return s palindrome = [] length = len(s) start = 0 end = 0 while(start != length-1): if end == length: start += 1 end = start tmp = s[start:end+1] if tmp[:] == tmp[::-1]: palindrome.append(tmp) end += 1 if len(palindrome) == 0: return s[0] else: return sorted(palindrome, key=len).pop()

뭔 짓을 해도 타임 에러가 나서 고민하다가 책을 슬쩍 봤다..
처음 두줄
if len(s) < 2 or s[:] == s[::-1]: return s
은 생각도 못했는데 예외처리
를 통해 속도 향상이 가능하다는 것이다.(파이썬 알고리즘 인터뷰 p.161)
문제풀이를 많이 해야 하는 이유가 바로 이런 것이라고 생각한다. 이 교훈은 진짜 잊으면 안되겠다.
책 정보
![]() |
|
반응형
'Problem Solving > LeetCode' 카테고리의 다른 글
[LeetCode] 15. 3Sum (0) | 2021.01.10 |
---|---|
[LeetCode] 1. Two Sum (1) | 2021.01.07 |
[LeetCode] 49. Group Anagrams (0) | 2021.01.06 |
[LeetCode] 819. Most Common Word (0) | 2021.01.05 |
[LeetCode] 937. Reorder Data in Log Files (0) | 2021.01.04 |