반응형

문제 7. Reverse integer

Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123 Output: 321
Example 2:
Input: -123 Output: -321
Example 3:
Input: 120 Output: 21

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

easy level 답게 간단합니다. 주어진 int data를 뒤집기만 하면 됩니다. 단, int value의 범위를 벗어나는 경우 0를 주면 됩니다.

 

class Solution:
    def reverse(self, x: int) -> int:
    	#x에 절대값을 문자열로 받음
        string = str(abs(x))
        #문자열로 받은 x를 뒤집는데, x가 0보다 작은 경우 음수로 바꿔준다
        reverse = int(string[::-1])  if x >= 0 else 0 - int(string[::-1])
         
        #문자열의 bit_length가 32 이하(bit = log2x)인 경우 출력, 반대 경우 0 출력 
        return reverse if reverse.bit_length() < 32 else 0

 

 

반응형
복사했습니다!