[JAVA] SWEA 1209 - Sum

hyng·2022년 1월 6일
0

SWEA

목록 보기
2/78

간단하게 각 행의 합, 열의 합, 대각선의 합을 비교하면 되는 문제.

code

import java.util.*;
class Solution
{
     static final int SIZE = 100;
	public static void main(String args[]) throws Exception
	{
		Scanner sc = new Scanner(System.in);

        StringBuffer sb = new StringBuffer();

        int T = 10;

        for(int tc=1; tc<=T; tc++){
            sb.append("#").append(sc.nextInt()).append(" ");
            int map[][] = new int[SIZE][SIZE];
            for(int i=0; i<SIZE; i++){ //행
                for(int j=0; j<SIZE; j++){ //열
                    map[i][j] = sc.nextInt();
                }
            }
            sb.append(solve(map)).append("\n");

            
            

           
        }
        System.out.println(sb);
	}
    static int solve(int map[][]){
        int max = 0;
        //각 행의 합
        for(int i=0; i<SIZE; i++){
            int sum = 0;
            for(int j=0; j<SIZE; j++){
                sum += map[i][j];
            }
            max = Math.max(max, sum);
        }

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

        //왼쪽 대각선
        int i=0;
        int j=0;
        int sum = 0;
        while(i < SIZE && j < SIZE){
            sum += map[i][j];
            i++;
            j++;
        }
        max = Math.max(max, sum);

        //오른쪽 대각선
        i=0;
        j=SIZE-1;
        sum = 0;
        while(i < SIZE && j >= 0){
            sum += map[i][j];
            i++;
            j--;
        }
        max = Math.max(max, sum);

        return max;
    }
}
profile
공부하고 알게 된 내용을 기록하는 블로그

0개의 댓글