[JAVA] 20. 격자판 최대합

2021. 4. 28. 00:34
728x90

설명

 

5*5 격자판에 숫자가 적혀있습니다.

N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합니다.

 

예시 입력 1 

5

10 13 10 12 15

12 39 30 23 11

11 25 50 53 15

19 27 29 37 27

19 13 30 13 19

 

예시 출력 1

155

 

 

풀이

 

import java.util.*;

public class Main  {

    public static void main(String[] args) {

        Scanner in=new Scanner(System.in);
        int size = in.nextInt();
        int[][] arr = new int[size][size];

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

        int line=0, reline =0, max=0;

        for(int i=0; i<size; i++){
            int row=0,col=0;
            for(int j=0; j<size; j++){
                row += arr[i][j];
                col += arr[j][i];
                if(i==j){
                    line+= arr[i][j];
                }
                if(i+j==size-1){
                    reline+=arr[i][j];
                }
            }
            max = Math.max(max,col);
            max = Math.max(max,row);
        }

        max = Math.max(max, line);
        max = Math.max(max, reline);

        System.out.println(max);
    }
}
728x90

'알고리즘 > JAVA' 카테고리의 다른 글

[JAVA] 22. 두 배열 합치기 (two pointers)  (0) 2021.05.05
[JAVA] 21. 봉우리  (0) 2021.05.01
[JAVA] 19. 등수구하기  (0) 2021.04.27
[JAVA] 18. 점수계산  (0) 2021.04.20
[JAVA] 17. 뒤집은 소수  (0) 2021.04.20

BELATED ARTICLES

more