728x90
36ms 걸린 내 솔루션
class Solution:
def reverse(self, x: int) -> int:
sign = ""
if x < 0:
sign += "-"
x = list(str(abs(x)))
x = "".join([num for num in x[::-1]])
answer = sign+str(int(x))
if int(answer) > (2**31)-1 or int(answer) < -(2**31):
return 0
else:
return answer
8m 걸린 솔루션
class Solution:
def reverse(self, x: int) -> int:
if x > 0:
result = int(str(x)[::-1])
else:
result = -int(str(abs(x))[::-1])
if result > (2 ** 31 - 1) or result < -(2**31):
return 0
else:
return result
list로 만들지도 않고 list comprehension도 안쓰고 str자체를 reverse 시키는 방법도 된다.
class Solution:
def reverse(self, x: int) -> int:
sign = ""
if x < 0:
sign += "-"
x = str(abs(x))[::-1]
answer = sign+str(int(x))
if int(answer) > (2**31)-1 or int(answer) < -(2**31):
return 0
else:
return answer
str으로 했지만 32ms 정도 밖에는 안나옴
int 함수를 활용해야 속도가 빨라지는 듯.
-int가 가능하구나.
728x90
'Leetcode' 카테고리의 다른 글
[LeetCode] Palindrom Number 파이썬 (reverse str) (0) | 2021.03.25 |
---|---|
LeetCode dark mode 설정하기 (extension) (0) | 2021.03.25 |
[LeetCode] Two Sum 파이썬 (dict, if ~ in) (0) | 2021.03.25 |
198. House Robber (0) | 2020.08.16 |
303. Range Sum Query - Immutable (0) | 2020.08.16 |
댓글