[leetcode-python3] 7. Reverse Integer

shsh·2020년 12월 19일
0

leetcode

목록 보기
34/161

7. Reverse Integer - python3

Given a 32-bit signed integer, reverse digits of an integer.

Note:
Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

My Answer 1: Accepted (Runtime: 32 ms - 63.55% / Memory Usage: 14.1 MB - 54.86%)

class Solution:
    def reverse(self, x: int) -> int:
        result = ""
        
        # 0일 때
        if x == 0:
            return 0
        
        # 음수일 때
        if x < 0:
            result = "-"
            x *= -1
        
        while x:
            result += str(x%10)
            x = x//10
            
        result = int(result)
        
        # int overflow 검사
        if -1*pow(2, 31) < result < pow(2, 31)-1:
            return result
        
        return 0
  1. 0 일 때와 음수일 때의 예외처리

  2. x 의 맨 뒷자리부터 result 에 string 형태로 넣음

  3. result 를 다시 int 형으로 변환

  4. assume that your function returns 0 when the reversed integer overflows.
    => result 의 범위 검사 (이거 안해주면 오류 남)

profile
Hello, World!

0개의 댓글

관련 채용 정보