1 ๋ถ„ ์†Œ์š”

๐Ÿ“ [S1_9465] ๊ณฑ์…ˆ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
	static StringTokenizer st;

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();

		// testcase
		int T = Integer.parseInt(br.readLine());

		for (int tc = 0; tc < T; tc++) {
			int n = Integer.parseInt(br.readLine());

			int[][] arr = new int[2][n+1];

			// ๋ฐฐ์—ด ์ž…๋ ฅ
			for (int i = 0; i < 2; i++) {
				st = new StringTokenizer(br.readLine(), " ");
				for (int j = 1; j < n + 1; j++) {
					arr[i][j] = Integer.parseInt(st.nextToken());
				}
			}

			// dp ๋ฐฐ์—ด ์ดˆ๊ธฐํ™”
			int[][] dp = new int[2][n + 1];

			// ์ œ์ผ ์ฒ˜์Œ์— ์žˆ๋Š” ๊ฐ’ ์„ค์ •
			dp[0][1] = arr[0][1];
			dp[1][1] = arr[1][1];

				// ๋ณธ์ธ๋ณด๋‹ค ๋” ์ž‘์€ 2๊ฐ’์ด๋ž‘ ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— 2๋ถ€ํ„ฐ ์‹œ์ž‘
				for (int j = 2; j < n + 1; j++) {
					// ์œ„์— ์ค„
					dp[0][j] = Math.max(dp[1][j-1], dp[1][j-2]) + arr[0][j];
					
					// ์•„๋ž˜์ค„
					dp[1][j] = Math.max(dp[0][j-1], dp[0][j-2]) + arr[1][j];
				}
				sb.append(Math.max(dp[0][n],dp[1][n])).append("\n");
		}
		System.out.println(sb);
	}
}

๐Ÿค” ๋‚˜์˜ ์ƒ๊ฐ

dp ๋ฌธ์ œ์ด๋‹ค.
๋ณธ์ธ ๊ฐ’์˜ ๋‹ค๋ฅธ ํ–‰์— ์กด์žฌํ•˜๋Š” ์ „๊ฐ’๊ณผ ์ „์—์ „๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๋” ํฐ ๊ฐ’(dp ๋ฐฐ์—ด)๊ณผ ์ž๊ธฐ ๊ฐ’(arr ๋ฐฐ์—ด)์„ ๋”ํ•ด์„œ dp ๋ฐฐ์—ด์— ๋„ฃ์–ด์ค€๋‹ค.
๊ทธ๋ž˜์„œ ๋งˆ์ง€๋ง‰์— ์ œ์ผ ํฐ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋ณธ์ธ๋ณด๋‹ค 2๊ฐœ ๋” ์ ์€ ๊ฐ’๋ถ€ํ„ฐ ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ด ๊ฐ’์„ 0๋ถ€ํ„ฐ ์‹œ์ž‘์ด ์•„๋‹Œ 1๋ถ€ํ„ฐ ์‹œ์ž‘์„ ํ•ด์ฃผ์—ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ทธ๋ฆผ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š”๊ฒŒ ๋” ์ดํ•ด๊ฐ€ ๋น ๋ฅผ ๊ฒƒ ๊ฐ™์•„ ๊ทธ๋ฆผ์„ ์ค€๋น„ํ–ˆ๋‹ค.


์ฒ˜์Œ [0][1] ๊ณผ [1][1] ์€ ๋ณธ๋ž˜ ๋ฐฐ์—ด ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ณ  ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ๋ณธ์ธ ์ „์˜ 2๊ฐœ์˜ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๋” ํฐ ๊ฐ’ ( dp ๋ฐฐ์—ด ๊ฐ’ )๊ณผ ๋ณธ์ธ ๊ฐ’ ( arr ๋ฐฐ์—ด ๊ฐ’ )์„ ๋”ํ•ด์„œ dp ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: