• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

런타임 에러가 뜨는 이유가 궁금합니다!

23.01.25 18:45 작성 조회수 724

0

강의를 보기 전에 혼자 고민하고 작성했던 코드입니다. 출력은 잘 나오는데 채점 사이트에서 런타임 에러가 떴는데, 런타임 에러 어떤 상황에서 나오는지 궁금합니다!

import java.util.*;
public class Main {
    public int solution(int n, int[][] arr2) {
        int answer = 0;
        int sum = 0;

        // 각 행의 합
        for (int i = 0; i < n; i++) {
            sum = 0;
            for (int j = 0; j < n; j++) {
                sum += arr2[i][j];
            }
            answer = Math.max(sum, answer);
        }

        // 각 열의 합
        for (int i = 0; i < n; i++) {
            sum = 0;
            for (int j = 0; j < n; j++) {
                sum += arr2[j][i];
            }
            answer = Math.max(sum, answer);
        }

        // 두 대각선의 합
        // 00 -> 11 -> 22 -> 33 -> 44
        // 04 -> 13 -> 22 -> 31 -> 40
        sum = 0;
        for (int i = 0; i < n; i++) {
            sum += arr2[i][i];
        }
        answer = Math.max(sum, answer);

        sum = 0;
        for (int i = 0; i < n; i++) {
            sum += arr2[i][n-i-1];
        }
        answer = Math.max(sum, answer);

        return answer;
    }
    public static void main(String[] args) {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();
        int[][] arr = new int[5][5];

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                arr[i][j] = kb.nextInt();
            }
        }

        System.out.println(T.solution(n, arr));
    }
}

답변 1

답변을 작성해보세요.

0

안녕하세요^^

격자의 크기가 항상 5행 5열 크기로 들어오는 것이 아니라 n*n크리로 들어옵니다.