본문 바로가기
알고리즘 & 자료구조/프로그래머스

정수 삼각형

by 신재권 2022. 12. 4.
package programmers;

public class 정수삼각형 {

   public static int solution(int[][] triangle) {

      int answer = 0;
      for (int i = 1; i < triangle.length; i++) {
         for (int j = 0; j < triangle[i].length; j++) {
            if (j == 0) {
               triangle[i][j] += triangle[i - 1][j];
            } else if (i == j) {
               triangle[i][j] += triangle[i - 1][j - 1];
            } else {
               int left = triangle[i][j] + triangle[i - 1][j - 1];
               int right = triangle[i][j] + triangle[i - 1][j];
               triangle[i][j] = Math.max(left, right);
            }

            answer = Math.max(answer, triangle[i][j]);
         }
      }

      return answer;
   }


   public static void main(String[] args) {
      System.out.println(solution(new int[][]
         {{7}, {3, 8}, {8, 1, 0}, {2, 7, 4, 4}, {4, 5, 2, 6, 5}}));
   }
}

'알고리즘 & 자료구조 > 프로그래머스' 카테고리의 다른 글

과일 장수  (0) 2022.12.14
가장 가까운 같은 글자  (0) 2022.12.13
올바른 괄호의 개수  (0) 2022.12.03
게임 맵 최단거리  (0) 2022.12.02
위장  (0) 2022.12.02