가오리의 코딩일기

[9465] 스티커 본문

Python/백준

[9465] 스티커

류경혜 2022. 5. 24. 13:10

T = int(input())
for i in range(T):
    dp = []
    n = int(input())
    for j in range(2):
        dp.append(list(map(int, input().split())))
    for k in range(1, n):
        if k == 1:
            dp[0][k] += dp[1][k-1]
            dp[1][k] += dp[0][k-1]
        else:
            dp[0][k] += max(dp[1][k-1], dp[1][k-2])
            dp[1][k] += max(dp[0][k-1], dp[0][k-2])
    print(max(dp[0][n-1], dp[1][n-1]))

POINT

 -  뗀 스티커 기준으로 왼쪽, 오른쪽, 위, 아래 스티커 사용 불가

 - 점수의 합이 '최대'일 때를 구한다

dp[0][1]  += dp[1][0]

dp[1][1] += dp[0][0]

 

'Python > 백준' 카테고리의 다른 글

[11053] 가장 긴 증가하는 부분 수열  (0) 2022.05.24
[2156] 포도주 시식  (0) 2022.05.24
[2193] 이친수  (0) 2022.05.24
[11057] 오르막 수  (0) 2022.05.23
[10844] 쉬운 계단수  (0) 2022.05.23