문제
https://programmers.co.kr/learn/courses/30/lessons/12913
코딩테스트 연습 - 땅따먹기
땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟
programmers.co.kr
풀이
정수 삼각형과 유사한 문제이다.
land와 동일 사이즈의 배열을 생성하여
행과 열을 순회하면서, 해당 index에서 가질 수 있는 최대 점수를 저장해나간다.
마지막 행의 최대 값이 답이 된다.
2021.11.08 - [Problem Solving/BOJ] - [BOJ 1932] 정수 삼각형 (Java)
[BOJ 1932] 정수 삼각형 (Java)
문제 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 풀이 7 7 3 10 8..
gom20.tistory.com
소스코드
class Solution {
int solution(int[][] land) {
int answer = 0;
int[][] dp = new int[land.length][4];
for(int i = 0; i < land.length; i++){
for(int j = 0; j < 4; j++) {
if(i == 0){
dp[i][j] = land[i][j];
continue;
}
int max = 0;
for(int k = 0; k < 4; k++){
if(k == j) continue;
max = Math.max(max, dp[i-1][k]);
}
dp[i][j] += land[i][j] + max;
}
}
for(int i = 0; i < 4; i++){
answer = Math.max(answer, dp[land.length-1][i]);
}
return answer;
}
}
'💡Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스] 구명보트 (Java) (0) | 2021.11.12 |
---|---|
[프로그래머스] 숫자 게임 (Java) (0) | 2021.11.11 |
[프로그래머스] 정수 삼각형 (Java) (0) | 2021.11.09 |
[프로그래머스] 기지국 설치 (Java) (0) | 2021.11.07 |
[프로그래머스] 가장 먼 노드 (Java) (0) | 2021.11.06 |