TrianglePath 질문입니다

  • clearpal6
    clearpal6

    틀린게 없는데 계속해서 RTE(SIGKILL Memory exceeded)에러가납니다...
    너무 메모리를 많이 잡아 먹은건가요??

    import java.util.Scanner;

    public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int n = 0;
        int max=0;
        int Test=0;
        int [][]arr;
        int [][]temp;
        Scanner scan = new Scanner(System.in);
        System.out.println("테스트 케이스 횟수");
        Test=scan.nextInt();
        if(Test<=50){
        while(Test>0){
        System.out.println("삼각형의 크기");
        n = scan.nextInt();
        arr = new int[n][n];
        temp = new int[n][n];
        if (n >= 2 && n <= 100) {
            for (int i = 0; i < n; i++) {
                for (int j = 0; j <= i; j++) {
                    arr[i][j] = scan.nextInt();
                    if(arr[i][j]<1 || arr[i][j]>10000)
                        break;
    
                }
            }
            sum(0,arr,temp);
            max=temp[n-1][0];  //최대값을 임시로 저장
            for(int j=1;j<n;j++){
                if(temp[n-1][j]>max)
                    max=temp[n-1][j];
            }
            System.out.println(max);
    
        }
        Test--;
    
    }
    }

    }

    private static void sum(int index,int [][]arr,int [][]temp){
        temp[0][0]=arr[0][0];
        for(int i=0;i<arr.length-1;i++){
         for(int j=0;j<=i;j++){
             if(i==0){
                 temp[i+1][j]=temp[i][j]+arr[i+1][j];
                 temp[i+1][j+1]=temp[i][j]+arr[i+1][j+1];
             }
             if(j==0)
                 temp[i+1][j]=temp[i][j]+arr[i+1][j];
    
             if(i!=0 && j!=0){
                 temp[i+1][j]=Math.max(temp[i][j]+arr[i+1][j],temp[i][j-1]+arr[i+1][j]);
             }
             if(i==j)
                    temp[i+1][j+1]=temp[i][j]+arr[i+1][j+1];  
    
         }
        }
    }

    }


    9년 전
3개의 댓글이 있습니다.
  • 샥후
    샥후

    각 숫자는 1 이상 100000 이하의 자연수입니다.


    9년 전 link
  • clearpal6
    clearpal6

    100000으로했는데 오답이 뜨네요... 어디가 틀린건지 ㅠㅠ


    9년 전 link
  • clearpal6
    clearpal6

    아 ㅠㅠㅠ System.out.println("삼각형의 크기를 정하시오")이거를 넣었네요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
    이해하기 쉽게할려고 남겨둔건데 깜빡함 ㅠㅠㅠ 드뎌 풀었다 기분 상쾌하다 ㅎㅎㅎ


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.