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 |