본문 바로가기
알고리즘

[백준] 9465번: 스티커 - python

by 육빔 2024. 4. 11.
728x90
반응형

https://www.acmicpc.net/problem/9465

 

9465번: 스티커

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의

www.acmicpc.net

 

아이디어

 

할당된 저장변수에 계속해서 최대값을 저장해나가면서 마지막에 가장 큰 값을 추출

저장하는 것은 다른 행이므로 비교를 하면서 더해나간다.

 

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
반응형