본문 바로가기
Leetcode

[LeetCode] Revese Integer 파이썬 (list comprehension, reverse str)

by YGSEO 2021. 3. 25.
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

댓글