csct3434
[level 2] 땅따먹기 - 12913 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution {
int solution(int[][] land) {
int rows = land.length;
int cols = land[0].length;
int[][] dp = new int[rows][cols];
init(land, dp, cols);
for (int x = 1; x < rows; x++) {
for (int y = 0; y < cols; y++) {
dp[x][y] = land[x][y] + calcMax(dp, x - 1, cols, y);
}
}
return calcMax(dp, rows - 1, cols, -1);
}
private void init(int[][] land, int[][] dp, int cols) {
for (int i = 0; i < cols; i++) {
dp[0][i] = land[0][i];
}
}
private int calcMax(int[][] dp, int targetRow, int cols, int blockedCol) {
int max = 0;
for (int col = 0; col < cols; col++) {
if (col != blockedCol) {
max = Math.max(max, dp[targetRow][col]);
}
}
return max;
}
}
'프로그래머스' 카테고리의 다른 글
[level 2] 숫자 블록 - 12923 (0) | 2024.02.28 |
---|---|
[level 2] 멀리 뛰기 - 12914 (0) | 2024.02.28 |
[level 2] 다음 큰 숫자 - 12911 (0) | 2024.02.28 |
[level 2] 올바른 괄호 - 12909 (0) | 2024.02.28 |
[level 2] 가장 큰 정사각형 찾기 - 12905 (0) | 2024.02.28 |