Python Algorithm
LeetCode
2119. A Number After a Double Reversal
- Reversing an integer means to reverse all its digits.
- For example, reversing 2021 gives 1202. Reversing 12300 gives 321 as the leading zeros are not retained.
- Given an integer num, reverse num to get reversed1, then reverse reversed1 to get reversed2. Return true if reversed2 equals num. Otherwise return false.
- Constraints
- 0 ≤ num ≤ 10⁶
class Solution:
def isSameAfterReversals(self, num: int) -> bool:
reversed1 = int(str(num)[::-1])
# reversed_num을 다시 뒤집고 num과 비교해 보기
reversed2 = int(str(reversed1)[::-1])
return reversed1 == reversed2:
class Solution:
def isSameAfterReversals(self, num: int) -> bool:
reversed1 = int("".join(reversed(str(num))))
reversed2 = int("".join(reversed(str(reversed1))))
if num == reversed2:
return True
return False
1800. Maximum Ascending Subarray Sum
- Given an array of positive integers [nums], return the maximum possible sum of an ascending subarray in [nums].
- A subarray is defined as a contiguous sequence of numbers in an array.
- A subarray [numsₗ, numsₗ₊₁, ..., numsᵣ₋₁, numsᵣ] is ascending if for all i where l ≤ i < r, numsᵢ < numsᵢ₊₁. Note that a subarray of size 1 is ascending.
- Constraints
- 1 ≤ nums.length ≤ 100
- 1 ≤ nums[i] ≤ 100
class Solution:
def maxAscendingSum(self, nums: List[int]) -> int:
# 이전 수보다 증가하고 있는지를 체크
# 계속 증가하고 있으면 현재의 누적합에 숫자 더해주기
# 만약 감소한다면 현재의 누적합 초기화
# answer와 현재 누적합 비교해서 더 큰 값을 answer로 지정
prev = 0
cur_sum = 0
answer = 0
for num in nums:
if num > prev:
# 현재 누적합에 숫자 더해줌
# 누적합과 answer 비교, 더 큰 값을 지정
cur_sum += num
else:
# cur_sum을 현재 숫자로 초기화
cur_sum = num
answer = max(answer, cur_sum)
prev = num
return answer
class Solution:
def maxAscendingSum(self, nums: List[int]) -> int:
answer = nums[0]
sum_ = nums[0]
for i in range(1, len(nums)):
if nums[i-1] < nums[i]:
sum_ += nums[i]
else:
sum_ = nums[i]
answer = max(answer, sum_)
return answer
https://leetcode.com/problems/a-number-after-a-double-reversal/
https://leetcode.com/problems/maximum-ascending-subarray-sum/
'지난 공부기록 > 알고리즘 풀이' 카테고리의 다른 글
| Python - Algorithm #51 (0) | 2024.09.12 |
|---|---|
| Python - Algorithm #50 (0) | 2024.09.10 |
| Python - Algorithm #48 (0) | 2024.09.06 |
| Python - Algorithm #47 (0) | 2024.09.05 |
| Python - Algorithm #46 (0) | 2024.09.04 |