선릉역 1번 출구

baekjoon - 1912 본문

Algorithm/Algorithm 문제풀이

baekjoon - 1912

choideu 2021. 9. 16. 21:33

problem. n개의 정수로 이루어진 임의의 수열이 주어짐 -> 연속된 수들의 합의 최댓값을 찾는 것

 

key point

10 -4 3 -7 2
10 6 9 2 4
import sys

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

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

print(max(dp))

dp[i]: i까지 더한 값의 최댓값(dp[i-1] + dp[i] > dp[i]라면 dp[i-1]는 양수이기 때문에 연속하는 것이 맞고, 그 반대는 음수이기 때문에 dp[i]를 최댓값으로 취하는 것이 맞다.

 

'Algorithm > Algorithm 문제풀이' 카테고리의 다른 글

baekjoon - 14467  (0) 2021.10.03
baekjoon - 15500  (0) 2021.10.03
baekjoon - 14002  (0) 2021.09.16
baekjoon - 11053  (0) 2021.09.15
baekjoon - 2193  (0) 2021.09.13
Comments