-Code
n = int(input())
nums = list(map(int, input().split()))
dp = [nums[0]]
for i in range(n - 1):
dp.append(max(dp[i] + nums[i + 1], nums[i + 1]))
print(max(dp))
처음에 투 포인터로 풀려고 하다가 잘 되지 않아서 분류가 dp라서 연속합을 이요하여 풀려하는데 잘 풀리지 않아서 원리를 찾아보니 max를 이용해서 구하는 방법을 알아서 해결을 했지만 아쉬웠습니다. 다음에 다시 한번 풀어봐야겠습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 12015번 가장 긴 증가하는 부분 수열 2 (0) | 2022.05.11 |
---|---|
[백준/파이썬] 11055번 가장 큰 증가 부분 수열 (0) | 2022.05.11 |
[백준/파이썬] 22857번 가장 긴 짝수 연속한 부분 수열 (small) (0) | 2022.05.11 |
[백준/파이썬] 10025번 게으른 백곰 (0) | 2022.05.11 |
[백준/파이썬] 15565번 귀여운 라이언 (0) | 2022.05.11 |