inblog logo
|
stupefyee
    알고리즘문제풀기

    [JAVA 문제 풀이] 342. 땅따먹기

    프로그래머스 (12913)
    Stupefyee's avatar
    Stupefyee
    Jun 25, 2025
    [JAVA 문제 풀이] 342. 땅따먹기
    Contents
    내가 작성한 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/12913
    notion image
     

    내가 작성한 코드

    class Solution { int solution(int[][] land) { int n = land.length; // 두 번째 행부터 마지막 행까지 반복 for (int i = 1; i < n; i++) { for (int j = 0; j < 4; j++) { // 열은 항상 4개 int max = 0; // 바로 위 행에서 같은 열을 제외한 가장 큰 값을 찾음 for (int k = 0; k < 4; k++) { if (j == k) continue; // 같은 열은 연속해서 밟을 수 없으므로 제외 max = Math.max(max, land[i - 1][k]); // 최댓값 갱신 } // 현재 위치에 위에서 선택된 최댓값을 누적 land[i][j] += max; } } int answer = 0; // 마지막 행에서 최대값을 찾아 반환 for (int i = 0; i < 4; i++) { answer = Math.max(answer, land[n - 1][i]); } return answer; } }
    Share article
    Contents
    내가 작성한 코드

    stupefyee

    RSS·Powered by Inblog