From 4e130098853d18b512dd7ac7b241077f0af7b6ab Mon Sep 17 00:00:00 2001 From: sm4640 Date: Mon, 30 Mar 2026 13:57:45 +0900 Subject: [PATCH] =?UTF-8?q?9465-s1=20=EC=84=B1=EA=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workbook_7319/silver/9465-s1.py | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 workbook_7319/silver/9465-s1.py diff --git a/workbook_7319/silver/9465-s1.py b/workbook_7319/silver/9465-s1.py new file mode 100644 index 0000000..a3e3d63 --- /dev/null +++ b/workbook_7319/silver/9465-s1.py @@ -0,0 +1,37 @@ +# 스티커 + +import sys + +input = sys.stdin.readline + +def solution(): + t = int(input().rstrip()) + + for _ in range(t): + n = int(input().rstrip()) + lst = [list(map(int, input().rstrip().split())) for _ in range(2)] + dp = [[0]*n for _ in range(2)] + + dp[0][0] = lst[0][0] + dp[1][0] = lst[1][0] + + for i in range(1, n): + dp[0][i] = max(dp[0][i-1], dp[1][i-1]+lst[0][i]) + dp[1][i] = max(dp[1][i-1], dp[0][i-1]+lst[1][i]) + + print(max(dp[0][n-1], dp[1][n-1])) + + + return + + +solution() + +""" +걸린 시간: 20분 + +시간 복잡도: 2*n 테이블을 채워야하기 때문에 O(2n)이다. + +해설: 한 열에서 동시에 선택을 할 수는 없으므로, 각 행마다 경우의 수를 구해가야 하고, 한 행이 생길때마다 선택할 수 있는 경우를 보면 된다. +하나의 값을 볼때, 이걸 선택한다면 이전 열의 다른 행에서 와야하고, 선택하지 않는다면 이전 열의 같은 행에서 오면 된다. +""" \ No newline at end of file