ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로그래머스 정수 삼각형
    개발/코딩테스트 2025. 1. 5. 18:13

    해석

    가장 왼쪽의 경우 이전 행의 가장 왼쪽의 값을 현재의 값과 합산한것이 현재의 값이 된다 

    가장 오른쪽의 경우 이전 행의 가장 오른쪽의 값을 현재의 값과 합산한 것이 현재의 값이 된다. 

    그 외의 경우 이전 행에서의 왼쪽 열의 값과 이전 행의 오른쪽 열의 값 중 큰 값을 현재의 값과 합산한 것이 현재의 값이 된다 

    첫번째 행의 경우 계산의 대상이 아니니 제외한다 

    cf) 전제가 삼각형이므로 가장 왼쪽 혹은 가장 오른쪽의 경우 행 , 열이 -1씩 줄어든다 

     

    풀이 

    public 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{
                	triangle[i][j]+=Math.max(triangle[i-1][j],triangle[i-1][j-1]);            
                }
                answer = Math.max(answer,triangle[i][j]);
            }
        }
        
        return answer;
    
    }

     

     

     

    '개발 > 코딩테스트' 카테고리의 다른 글

    프로그래머스 등굣길  (0) 2025.01.11
    게임맵 최단거리  (1) 2024.12.29
    이중우선순위큐  (0) 2024.12.26
    다리를 지나는 트럭  (0) 2024.12.22
    기능개발  (1) 2024.12.17

    댓글

Designed by Tistory.