728x90
반응형
https://www.acmicpc.net/problem/9465
아이디어
할당된 저장변수에 계속해서 최대값을 저장해나가면서 마지막에 가장 큰 값을 추출
저장하는 것은 다른 행이므로 비교를 하면서 더해나간다.
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
dp = []
n = int(input())
dp.append(list(map(int, input().split())))
dp.append(list(map(int, input().split())))
if n == 1:
print(max(map(max, dp)))
continue
dp[0][1] += dp[1][0]
dp[1][1] += dp[0][0]
for i in range(2, n):
dp[0][i] += max(dp[1][i-1], dp[1][i-2])
dp[1][i] += max(dp[0][i-1], dp[0][i-2])
print(max(map(max, dp)))
완성
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준] 12865번: 평범한 배낭 - python (0) | 2024.04.11 |
---|---|
[백준] 11660번: 구간 합 구하기 5 - python (0) | 2024.04.11 |
[백준] 1991번: 트리 순회 - python (0) | 2024.04.09 |
[백준] 11725번: 트리의 부모 찾기 - python (0) | 2024.04.09 |
[백준] 15666번: N과 M (12) - python (0) | 2024.04.09 |