๐ŸŒžAlgorithm/๐Ÿ”ฅprogrammers

[programmers] ๋•…๋”ฐ๋จน๊ธฐ

๋ฟŒ์•ผ._. 2026. 6. 1. 13:27
๋ฌธ์ œ
https://school.programmers.co.kr/learn/courses/30/lessons/12913
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

 


< ๋•…๋”ฐ๋จน๊ธฐ >

 

๋ฌธ์ œ ํ’€์ด (Java)

class Solution {
	int solution(int[][] land) {
		int answer = 0;

		int[][] sum = new int[land.length][4];

		for (int i = 0; i < 4; i++) {
			sum[0][i] = land[0][i];
		}

		for (int i = 1; i < land.length; i++) {
			for (int j = 0; j < 4; j++) {

				for (int k = 0; k < 4; k++) {
					if (j == k) {
						continue;
					}
					sum[i][j] = Math.max(sum[i][j], land[i][j] + sum[i - 1][k]);
				}
			}
		}

		for (int i = 0; i < 4; i++) {
			answer = Math.max(answer, sum[land.length - 1][i]);
		}

		return answer;
	}
}

 

ํ•ฉ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด sum ๋ฐฐ์—ด์„ ์„ ์–ธํ•œ๋‹ค. ์ฒซ ํ–‰์€ land ๊ฐ’ ๊ทธ๋Œ€๋กœ ์ €์žฅํ•œ๋‹ค. ๋‹ค์Œ ํ–‰๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๋ฉฐ ๊ฐ™์€ ์—ด์ด ์•„๋‹Œ ์œ—ํ–‰๊ณผ ํ•ฉ์ด ์ตœ๋Œ“๊ฐ’์ผ ๋•Œ๋ฅผ ์ฐพ์•„ ์ €์žฅํ•œ๋‹ค. ์ตœ์ข… sum ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ํ–‰ ์ค‘์—์„œ ์ตœ๋Œ“๊ฐ’์„ answer์— ์ €์žฅํ•œ ํ›„ answer์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 



 

์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์—ฐ์Šต, 
https://school.programmers.co.kr/learn/challenges