백준/다이나믹 프로그래밍
# 9465 스티커 파이썬
bright_code
2021. 3. 11. 16:08
728x90
반응형
9465번: 스티커
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의
www.acmicpc.net
def sticker(n,data):
data[0][1] += data[1][0]
data[1][1] += data[0][0]
for j in range(2,n):
data[0][j] += max( data[1][j-2], data[1][j-1] )
data[1][j] += max ( data[0][j-2], data[0][j-1] )
return max(data[0][n-1], data[1][n-1])
t = int(input())
t_print = []
for i in range(t):
n = int(input())
data = []
for _ in range(2):
data.append(list(map(int,input().split())))
t_print.append ( sticker(n,data) )
for i in range(t):
print( t_print[i] )
index 2 이상부터 2칸 전 대각선과 1칸 전 대각선 비교해서 더하기가 가능!
728x90
반응형