53. Maximum Subarray

재피터노트북·2021년 9월 8일
0

문제풀러가기

문제

문제 풀이 방법

    1. best, curr 조건의 가장 낮은값으로 지정
    1. for 문으로 nums를 하나씩 봐가면서 i 값하고 curr + i 값을 더한 것중 더 큰값을 curr에 담고 best는 curr값하고 best값을 비교해서 더큰값을 best에 담는다.



풀이코드

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        
        best = -10**5
        curr = -10**5

        
        for i in nums:
            # 현재 값 nums의 i값과 curr + i 값을 비교
            curr = max(i, curr+i)
            
            # curr 과 best를 비교 해서 더 큰값을 best에 담음 
            best = max(best, curr)
            
        # for문이 끝나면 best값이 가장 큰값
        return best
            
profile
난 이 재 선

0개의 댓글