728x90
반응형
LeetCode-7
Reverse Integer : 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.
note : Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
Answer
:::python
class Solution:
def reverse(self, x: int) -> int:
if x > 0:
x = int(str(x)[::-1])
else:
x = -1*int(str(x-1)[::-1])
if (-2*31 > x) or (x > 2**31 - 1):
return 0
else:
return x
Result : 34ms Memory: 13.8mb
Reverse Integer
Reverse Integer는 숫자를 뒤집어서 반환하는 알고리즘이다.
예시
입력(Input)
123
출력(Output)
321
입력(Input)
-123
출력(Output)
-321
입력(Input)
120
출력(Output)
21
알고리즘
- 입력된 숫자의 부호를 체크한다.
- 만약 부호가 음수이면 양수로 바꾼다.
- 숫자를 뒤집은 값을 저장할 변수를 선언한다.
- 입력된 숫자를 10으로 나눈 나머지를 변수에 더하고 입력된 숫자를 10으로 나눈 몫으로 갱신한다. 이를 반복하여 입력된 숫자를 모두 뒤집은 값을 구한다.
- 구한 뒤집은 값을 부호에 맞게 반환한다.
시간 복잡도
입력된 숫자의 자리수에 비례하는 O(n)이 소요된다. (n은 숫자의 자리수)
반응형
'One step' 카테고리의 다른 글
[leetcode-8] String to Integer (atoi) (0) | 2023.04.19 |
---|---|
[leetcode-6] Zigzag Conversion (0) | 2023.04.18 |
[leetcode-9] Palindrome Number (0) | 2023.04.15 |
[leetcode-4] Median of Two Sorted Arrays (0) | 2023.04.14 |
[leetcode-3] Longest Substring Without Repeating Characters (0) | 2023.04.14 |