๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 9844_Gecko

๋ฟŒ์•ผ._. 2026. 4. 2. 22:11
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/9844)

< Gecko >

 

๋ฌธ์ œ ํ’€์ด 

 

์•„๋ž˜ ํ–‰์œผ๋กœ ๋‚ด๋ ค์˜ค๋ฉด์„œ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•œ๋‹ค. 

 

my solution (Java)

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

public class _9844_ { // Gecko

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(bf.readLine());

		int h = Integer.parseInt(st.nextToken());
		int w = Integer.parseInt(st.nextToken());

		int arr[][] = new int[h][w];
		int dp[][] = new int[h][w];

		for (int i = 0; i < h; i++) {
			st = new StringTokenizer(bf.readLine());
			for (int j = 0; j < w; j++) {
				arr[i][j] = Integer.parseInt(st.nextToken());
				if (i == 0) {
					dp[i][j] = arr[i][j];
				}
			}
		}

		for (int i = 1; i < h; i++) {
			for (int j = 0; j < w; j++) {
				dp[i][j] = Math.max(dp[i][j], arr[i][j] + dp[i - 1][j]);

				if (j - 1 >= 0) {
					dp[i][j] = Math.max(dp[i][j], arr[i][j] + dp[i - 1][j - 1]);
				}
				if (j + 1 < w) {
					dp[i][j] = Math.max(dp[i][j], arr[i][j] + dp[i - 1][j + 1]);
				}
			}
		}

		int result = 0;
		for (int i = 0; i < w; i++) {
			result = Math.max(result, dp[h - 1][i]);
		}

		System.out.println(result);
	}
}
๋ณ€์ˆ˜)
h, w : ๋ฒฝ์˜ ํฌ๊ธฐ
arr : ๊ฐ ํƒ€์ผ์˜ ๋ชจ๊ธฐ ๊ฐœ์ˆ˜
dp : ๊ฐ ์œ„์น˜๊นŒ์ง€ ๋จน์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๊ธฐ ์ตœ๋Œ€ ๊ฐœ์ˆ˜
result : ๋จน์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๊ธฐ์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜

 

๋ฒฝ์˜ ํฌ๊ธฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๋ฒฝ์˜ ํฌ๊ธฐ๋งŒํผ ๊ฐ ํƒ€์ผ์˜ ๋ชจ๊ธฐ ๊ฐœ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ arr์— ์ €์žฅํ•œ๋‹ค. dp ์ฒซ ํ–‰์„ arr ์ฒซ ํ–‰ ๊ฐ’์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ ํ–‰๋ถ€ํ„ฐ ์œ„, ์™ผ์ชฝ ๋Œ€๊ฐ์„  ์œ„, ์˜ค๋ฅธ์ชฝ ๋Œ€๊ฐ์„  ์œ„๋ฅผ ์‚ดํŽด๋ณด๋ฉฐ ์ตœ๋Œ“๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. 

 

์ตœ์ข… ๋งˆ์ง€๋ง‰ ํ–‰ ๊ฐ’ ์ค‘์—์„œ ์ตœ๋Œ“๊ฐ’์„ ์ฐพ์•„ ์ถœ๋ ฅํ•œ๋‹ค. 



 

'๐ŸŒžAlgorithm > ๐Ÿ”ฅBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 14767_Flow Shop  (0) 2026.04.06
[Baekjoon] 6245_Cow Solitaire  (0) 2026.04.03
[Baekjoon] 30337_Linas ir mandarinai  (0) 2026.04.01
[Baekjoon] 15407_How to Eat at a Buffet  (0) 2026.03.31
[Baekjoon] 15287_Easy Quest  (0) 2026.03.30