Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
Example 1:
Input: x = 123
Output: 321
Example 2:
Input: x = -123
Output: -321
Example 3:
Input: x = 120
Output: 21
Constraints:
- -231 <= x <= 231 - 1
주어진 Integer 값을 뒤집어 출력하는 문제로 뒤집은 후 제일 앞의 숫자가 0이라면 제외하고 출력하는 문제이다.
x값이 0보다 큰 경우 str로 변환 후 [::-1]을 통해 뒤집은 후 int()를 이용해 0을 제외한다.
그 이외의 경우 -x로 양수로 만든 후 위와 같은 로직을 반복한 후 -int()를 통해 다시 음수로 변환한다.
class Solution:
def reverse(self, x):
if x > 0:
xtoString = x.__str__()
revX = xtoString[::-1]
answer = int(revX)
else:
x = -x
xtoString = x.__str__()
revX = xtoString[::-1]
answer = -int(revX)
if answer > 2147483647 or answer < -2147483648:
return 0
return answer
문제 출처 : https://leetcode.com/problems/reverse-integer/
Github : https://github.com/kkkkang1009/leetcode/blob/master/leetcode_7.py
반응형
'IT > LeetCode' 카테고리의 다른 글
[LeetCode] 14. Longest Common Prefix (0) | 2022.07.21 |
---|---|
[LeetCode] 13. Roman to Integer (0) | 2022.07.21 |
[LeetCode] 9. Palindrome Number (0) | 2022.07.20 |
[LeetCode] 5. Longest Palindromic Substring (0) | 2022.07.20 |
[LeetCode] 1. Two Sum (0) | 2022.07.20 |
댓글