-Code
import sys
input = sys.stdin.readline
for _ in range(int(input())):
n = int(input())
nums = list(map(int, input().split()))
dp = [nums[0]]
for i in range(1, n):
dp.append(max(dp[i - 1] + nums[i], nums[i]))
print(max(dp))
dp문제인 걸 모르고 for문으로 풀었다 틀리고 dp를 이용하여 누적 합을 구하는데 그 과정에서 지금 값과 이전 값과 지금 값의 합을 비교를 해주는 것을 빼먹어서 다시 작성하고 해결하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 11722번 가장 긴 감소하는 부분 수열 (0) | 2022.05.12 |
---|---|
[백준/파이썬] 17212번 달나라 토끼를 위한 구매대금 지불 도우미 (0) | 2022.05.12 |
[백준/파이썬] 1699번 제곱수의 합 (0) | 2022.05.12 |
[백준/파이썬] 14501번 퇴사 (0) | 2022.05.12 |
[백준/파이썬] 12015번 가장 긴 증가하는 부분 수열 2 (0) | 2022.05.11 |