티스토리 뷰
728x90
반응형
문제
https://www.acmicpc.net/problem/1912
코드
n = int(input())
total = list(map(int, input().split()))
dp = [0 for _ in range(n)]
dp[0] = total[0]
for i in range(1, n):
dp[i] = max(total[i] + dp[i-1], total[i])
print(max(dp))
DP문제이고, 연속된 몇개의 수를 선택하여 가장 큰 값을 출력하는 문제이다.
연속된 값을 더한값이 더 클 수도 있고 더하지 않은 값이 더 클수도 있다.
1부터 확인하면서 dp에 값을 채워주면 된다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1389번, 케빈 베이컨의 6단계 법칙 (Python) (0) | 2021.08.07 |
---|---|
[백준] 2193번, 이친수 (Python) (0) | 2021.08.03 |
[백준] 10815번, 숫자 카드 (Python) (0) | 2021.07.27 |
[백준] 1162번, 도로포장 (Python) (0) | 2021.07.22 |
[백준] 2573번, 빙산 (Python) (0) | 2021.07.21 |
댓글