반응형
안녕하세요.
LeetCode 7번 Reverse Integer 문제풀이 하겠습니다.
https://leetcode.com/problems/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 [-2**31, 2**31 - 1], then return 0.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
-> 정수를 역순으로 출력하는 문제
[TestCase]
[코드]
class Solution:
def reverse(self, x: int) -> int:
x_list = list(str(x))
if x_list[0] =='-':
x_list = x_list[1:]
x_list.reverse()
x = '-' + ''.join(x_list)
else:
x_list.reverse()
x = ''.join(x_list)
if int(x) > 2**31 or int(x) < -2 **31:
return 0
else:
return int(x)
[해설]
- 정수를 문자열 리스트로 만든다.
- 리스트에 첫 번째 인덱스가 마이너스(-) 일 경우 두 번째 인덱스부터 리스트를 다시 만들어 줍니다.
Why?
리스트를 역순으로 만드는데 -123일 경우 321-가 되므로
- reverse()를 사용해서 리스트를 역순으로 만든다.
- 이후 최종적으로, join()을 사용해서 리스트를 하나로 연결해준 후 int형으로 return 한다.
감사합니다.
반응형
'Development > Algorithm' 카테고리의 다른 글
[LeetCode] Roman to Integer (0) | 2021.08.08 |
---|---|
[LeetCode] Palindrome Number (0) | 2021.08.07 |
[LeetCode] Add Two Numbers (0) | 2021.08.04 |
[LeetCode] Two Sum (0) | 2021.08.02 |
[BOJ] 1012. 유기농 배추 (0) | 2020.10.27 |