본문 바로가기

Algorithm/SWEA

[SWEA] D3. Sum (JAVA)

https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYUu1hG6O44DFARs&contestProbId=AV13_BWKACUCFAYh&probBoxId=AYUyLam6ojkDFARs&type=PROBLEM&problemBoxTitle=%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98+Track+%28%EB%82%9C%EC%9D%B4%EB%8F%84+%EC%A4%91%29&problemBoxCnt=5 

 

SW Expert Academy

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

swexpertacademy.com

 

 

1. 해결방법

그냥 Math.max로 행, 열, 대각선의 합을 구하면 된다.
ㅇㅇ;;;

 

 

2. 정답코드

	Scanner sc = new Scanner(System.in);

        int T;
        T = 10;

        for(int test_case = 1; test_case <= T; test_case++)
        {
            int N = sc.nextInt();
            int[][] maps = new int[100][100];

            for (int i = 0; i < 100; i++) {
                for (int j = 0; j < 100; j++) {
                    maps[i][j] = sc.nextInt();
                }
            }
            int maxValue = Integer.MIN_VALUE;

            int leftToRight = 0;
            int rightToLeft = 0;
            for (int i = 0; i < 100; i++) {
                int row = 0;
                int col = 0;
                for (int j = 0; j < 100; j++) {
                    row += maps[i][j];
                    col += maps[j][i];
                }
                maxValue = Math.max(maxValue, row);
                maxValue = Math.max(maxValue, col);

                leftToRight += maps[i][i];
                rightToLeft += maps[i][100 - i - 1];

            }
            maxValue = Math.max(leftToRight, maxValue);
            maxValue = Math.max(rightToLeft, maxValue);

            System.out.println("#" + test_case + " " + maxValue);
        }

'Algorithm > SWEA' 카테고리의 다른 글

[SWEA] 암호문1 Java  (0) 2023.02.13
[SWEA] D4. Ladder1 Python, Java  (0) 2023.02.08
[SWEA] D5. 최적 경로  (0) 2023.01.16
[SWEA] D4. 미로1  (0) 2023.01.10
[SWEA] D4. 보급로  (0) 2023.01.09