티스토리 뷰
안녕하세요. 죠쵸입니다.
LeetCode 07.Two SumReverse Integer 문제를 풀고, 문제를 통해서 알고리즘 및 기초 Python 문법들을 알아보겠습니다.
https://leetcode.com/problems/reverse-integer
Reverse Integer - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
#LeetCode 07.Reverse Integer Problem (Description)
문제는 비교적 간단합니다. 32 비트 정수(+/-부호 포함)가 주어지면 해당 정수를 Reverse 하여 반환하는 문제입니다.
단 변환된 정수가 32 비트 정수(+/-부호 포함)의 범주 밖으로 넘어갔을 때, 0 값을 반환해야 합니다.
![]() |
![]() |
#LeetCode 07.Reverse Integer Problem (Solution)
class Solution:
def reverse(self, x: int) -> int:
ret_value = int(''.join(letter for letter in list((str(abs(x))))[::-1]))
if x < 0:
ret_value = ret_value*(-1)
if ((-(2**31)) > ret_value) or (ret_value > (2**31)-1):
return 0
return ret_value
전달된 정수의 절대값을 abs() 함수를 통해서 구하고, 그 값을 str() 함수를 이용하여 문자열로 변환합니다. 그리고 list() 함수를 통해서 문자열의 각 문자를 list에 담습니다. 그리고 slicing 기법을 통해서 리스트에 담긴 문자를 reverse 하고 각 문자를 join() 함수로 문자열로 변경합니다.
마지막으로 변경된 문자열을 int() 함수로 정수로 변환하고, 변환된 값을 입력된 정수의 부호에 맞춰서 (+/-)를 적용하면 문제에서 요구하는 32 비트 정수의 Reverse를 완료하게 됩니다.
Reverse 된 정수가 32 비트 정수(+/-부호포함) 범주 안에 있는지 확인 후, 범주 밖에 있을 경우 Reverse 된 정수가 아닌 0을 반환하게 합니다.
기초적인 함수들을 잘 사용할 줄 알면, 비교적 간단한 문제인것 같습니다. 최상/최적은 아니지만 LeetCode에서 Accept 된 Solution입니다. 해당 코드를 참조하셔서 더 좋은 방법으로 개선해 보시면 좋을 것 같습니다. 그리고 개선 된 코드를 공유 해 주시면 더욱 감사 드립니다. 같이 배우고 성장해요~ :)
방문해 주셔서 감사합니다. 여러분의 공감하기(♥), 댓글과 구독은 저에게 힘이 됩니다.
이상으로 죠쵸였습니다.
'Programming > LeetCode' 카테고리의 다른 글
LeetCode 238.Product of Array Except Self (Python3) (0) | 2020.10.28 |
---|---|
LeetCode 561.Array Partition I (Python3) (2) | 2020.10.27 |
LeetCode 13.Roman to Integer (Python3) (9) | 2020.10.18 |
LeetCode 09.Palindrome Number (Python3) (3) | 2020.10.17 |
LeetCode 01.Two Sum (Python3) (0) | 2020.10.10 |
- Total
- Today
- Yesterday
- kule
- pandas
- Kaggle
- Study
- ai
- 데이터 분석
- English
- 리트코드
- 아디다스삼바화이트
- 캐글
- 파이썬 독학
- 영어공부
- 판다스
- 파이썬
- 큘가방
- 파이썬 기초
- joecho
- python
- AdSense
- Pandas(판다스)
- Leetcode255
- Big Data
- Machine Learning
- 재귀함수
- ap news
- 티파니T1
- 죠쵸
- Leetcode
- 리바이스사이즈
- 328. Odd Even Linked List
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |