728x90
난이도 : easy(라고 하기엔 좀 어려웠던거같은데..)
nums 내 subarray 중, 요소가 순차적으로 증가하는 경우의 sum값의 max를 return하는 문제
class Solution:
def maxAscendingSum(self, nums: List[int]) -> int:
max_sum = float('-inf')
current_sum = nums[0]
for i in range(1, len(nums)):
if nums[i] > nums[i-1]:
current_sum += nums[i]
else:
max_sum = max(max_sum, current_sum)
current_sum = nums[i]
max_sum = max(max_sum, current_sum)
return max(max_sum, max(nums)) if nums else 0
- float('-inf')로 음의 무한대 setting
- 현재 요소가 이전 요소보다 크면 current_sum에 추가, 그렇지 않으면 max_sum을 update하고 current_sum을 현재 요소로 초기화
- current_sum과 max_sum을 비교하여 max_sum을 결정
- max_sum과 nums의 최대값을 또 비교, 만약 nums가 비어있다면 0 return
Runtime : 0ms
Memory : 17.74MB (44.25%)
728x90
'코딩 공부 > Leetcode' 카테고리의 다른 글
[Python] 141. Linked List Cycle (0) | 2025.02.05 |
---|---|
[Python] 707. Design Linked List (0) | 2025.02.04 |
[Python] 3105. Longest Strictly Increasing or Strictly Decreasing Subarray (0) | 2025.02.03 |
[Python] 1752. Check if Array Is Sorted and Rotated (0) | 2025.02.03 |
[Python] 448. Find All Numbers Disappeared in an Array (0) | 2025.02.02 |