반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- pulldown
- Circuit
- error
- atmega128
- pullup
- palindrome
- assignment
- pyTorch
- KNN
- Features
- Floating
- Big size image
- backward pass
- assignment1
- TensorFlow
- neural net
- 회로
- softmax backpropagation
- #9
- Softmax
- leetcode
- autoencoder
- two-layer neural net
- NotFoundError
- 풀업저항
- impl
- Backpropagation
- 풀다운저항
- cs231n
- Solution
Archives
- Today
- Total
코딩공부
LeetCode 9. Palindrome Number 본문
반응형
간단하고 많이쓰이는 회문수 찾기 문제이다.
https://leetcode.com/problems/palindrome-number/description/
수가 정수로 주어질 때 가장 간단하게 생각할 수 있는 방법은 string 형태로 변환한 뒤 [::-1] 을 통해 역순 정렬후 비교하는 것이다.
이 때 x 가 0보다 작으면 회문일 수 없으니 예외처리를 해주는 것이 좋다.
class Solution:
def isPalindrome(self, x: int) -> bool:
if x<0:
return False
return str(x) == str(x)[::-1]
두번째 방법은 정수상태 그대로 활용하는 것이다.
이 때, x를 완전히 역순으로 정렬 후 확인하는 방법(1) 과 절반까지 확인하는 방법(2) 두가지가 있다.
(1)
class Solution:
def isPalindrome(self, x: int) -> bool:
if x<0:
return False
res = 0
org = x
while x > 0:
res = x%10 + res*10
x = x//10
return org == res
(2)
class Solution:
def isPalindrome(self, x: int) -> bool:
if x<0 or (x>0 and x%10 == 0):
return False
res = 0
while x > res:
res = x%10 + res*10
x = x//10
return x == res or x == res//10
두번째 방법의 경우 10, 100등의 경우에 문제를 해결할 수 없기 때문에 예외처리를 해주어야 한다.
반응형
'ML , DL (2019) > 알고리즘' 카테고리의 다른 글
LeetCode 101. Symmetric Tree (0) | 2023.08.02 |
---|---|
LeetCode 160. Intersection of Two Linked Lists (0) | 2023.08.02 |