Search

땅따먹기

알고리즘
연습문제
동적계획법(Dynamic Programming)
플랫폼
프로그래머스
JCF
상태
해결
생성 일시
2024/01/11 11:32
최종 편집 일시
2024/01/12 10:04

문제 설명

해결과정

Solution.java

class Solution { int solution(int[][] land) { int answer = -1; int max = -1; int maxIndex = -1; for(int i = 1; i < land.length; i++) { for(int j = 0; j < land[i].length; j++) { land[i][j] += maxElement(land, i, j); } } for(int i = 0; i < land[land.length-1].length; i++) { if(answer < land[land.length-1][i]) { answer = land[land.length-1][i]; } } return answer; } // 현재 행과 열을 기준으로 이전 행에서 현재 열을 제외한 값들중 가장 큰 값을 현재 원소에 더한다. int maxElement(int[][] land, int i, int j) { int max = -1; for(int c = 0; c < land[i-1].length; c++) { if(c != j && max < land[i-1][c]) { max = land[i-1][c]; } } return max; } }
Java
복사