728x90
class Solution:
def isPalindrome(self, x: int) -> bool:
if str(x) == str(x)[::-1]:
return True
else:
return False
Revese Integer에 있던 str reverse 활용함
메모리에서는 50%인데
시간 상위 솔루션은
class Solution:
def isPalindrome(self, x: int) -> bool:
if x<0:
print("False")
else:
return str(x) == str(x)[::-1]
이런식으로 음수는 다르기 때문에 조건을 줘서 계산을 안하도록.
class Solution:
def isPalindrome(self, x: int) -> bool:
x = str(x)
if x == x[::-1]:
return True
return False
str전환을 한번만해서 빠르게 계산되도록
메모리 측면에서의 상위 솔루션
class Solution:
def isPalindrome(self, x: int) -> bool:
if x < 0:
return False
if x < 10:
return True
original = x
reverse = 0
while x > 0:
reverse = reverse * 10 + (x % 10)
x = x // 10
return reverse == original
10으로 나눈 나머지를 10으로 계속 곱해주고 다시 나머지를 구하고,
x는 10으로 계속 나눈 몫으로 업데이트해주면서
reversed는 1자리 10자리 100자리 순으로 update되면서 reversed한 결과가 나오게 된다.
728x90
'Leetcode' 카테고리의 다른 글
[LeetCode] Longest Common Prefix 파이썬 (zip, list comprehension, set) (0) | 2021.03.28 |
---|---|
[LeetCode] Roman to Integer 파이썬 (dict, stack, deque) (0) | 2021.03.26 |
LeetCode dark mode 설정하기 (extension) (0) | 2021.03.25 |
[LeetCode] Revese Integer 파이썬 (list comprehension, reverse str) (0) | 2021.03.25 |
[LeetCode] Two Sum 파이썬 (dict, if ~ in) (0) | 2021.03.25 |
댓글