경험의 기록

문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13_BWKACUCFAYh 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

풀이

import java.util.Scanner;
 
class Solution
{
    public static void main(String args[]) throws Exception
    {
        Scanner sc = new Scanner(System.in);
        for(int test_case = 1; test_case <= 10; test_case++)
        {
            int[][] arr = new int[100][100];
            int max = 0;
            int sum1 = 0;
            int sum2 = 0;
            int sum3 = 0;
            int sum4 = 0;
            int t = sc.nextInt();
             
            // 배열 입력
            for(int i =0; i<100; i++){
                for(int j=0; j<100; j++){
                    arr[i][j] = sc.nextInt();
                }
            }
             
            for(int i =0; i<100; i++){
                sum1 = 0;
                sum2 = 0;
                sum3 += arr[i][i];
                sum4 += arr[i][99-i];
               
                for(int j=0; j<100; j++){
                    sum1 += arr[i][j];
                    sum2 += arr[j][i];
                }
                max = Math.max(max,sum1);
                max = Math.max(max,sum2);
            }
            max = Math.max(max,sum3);
            max = Math.max(max,sum4);
        
            System.out.println("#" + t + " " + max);
        }
    }
}

문제에서 주어진대로 각 행의 합 (sum1), 각 열의 합(sum2), 각 대각선의 합(sum3,sum4) 을 구해서 최댓값을 구한다.

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading