https://leetcode.com/problems/reverse-integer/
언뜻 보면 간단하지만 64비트 정수형을 저장할 수 없다는 조건이 있다.
많은 파이썬 풀이들이 이를 간과하고 int형으로 저장하지만 그럴 경우 문제의 조건을 벗어난 것이다.
float형으로 저장 후 32비트 범위를 벗어난 경우 0을 return해줬다.
class Solution:
def reverse(self, x: int) -> int:
if x == 0:
return x
integer = str(x)
integer = integer[::-1]
if integer[-1] == "-":
answer = -float(integer[:-1])
else:
answer = float(integer)
if answer > 2**31 - 1 or answer < -2**31:
return 0
else:
return int(answer)