본문 바로가기

백준 문제풀이

[백준][파이썬] 1912 연속합

728x90

1.문제 분석

  • 인접한 숫자의 합의 최댓값을 만드는 문제

2. 기본 아이디어

  1. 파이썬의 max함수를 활용한다.
  2. 순차적으로 연속된 합을 비교한다.

3.문제 풀이

i번째 수와 i번째 + i - 1번째 수의 합을 비교하여 큰 쪽을 dp[i]에 저장하는 방식이다.

 

코드로 구현

n = int(input())
dp = list(map(int, input().split()))

def partSum():

    for i in range(1, n):
        dp[i] = max(dp[i] + dp[i - 1], dp[i])

    return max(dp)

print(partSum())

 

return할 때에도 max함수를 통해 최대 연속합을 찾았다.

728x90