최근 글 ✨

[SWEA] 1209 [S/W 문제해결 기본] 2일차 - Sum Java

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV13_BWKACUCFAYh&categoryId=AV13_BWKACUCFAYh&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1

 

SW Expert Academy

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

swexpertacademy.com

 

 

[코드]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

import javax.sound.midi.Soundbank;

public class CodingTest {
	static int[][] r_arr;

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		for (int test_case = 1; test_case <= 10; test_case++) {
			r_arr = new int[100][100];
			int test = sc.nextInt(); // 테스트 케이스 번호
			int r_max = 0;
			int c_max = 0;
			for (int i = 0; i < 100; i++) {
				for (int j = 0; j < 100; j++) {
					r_arr[i][j] = sc.nextInt(); // 행 기준
				}
			}

			for (int i = 0; i < 100; i++) {
				int r_sum = 0;
				int c_sum = 0;
				for (int j = 0; j < 100; j++) {
					r_sum += r_arr[i][j]; // 행 합계
					c_sum += r_arr[j][i]; // 열 합계
				}
				r_max = Math.max(r_sum, r_max);
				c_max = Math.max(c_sum, c_max);
			}

			int down_r = 0; // 오른쪽 대각선
			int down_l = 0; // 왼쪽 대각선

			for (int i = 0; i < 100; i++) {
				down_r += r_arr[i][i]; // 오른쪽 대각선 합
				down_l += r_arr[100 - 1 - i][i];
			}

			int result = Math.max(r_max, Math.max(c_max, Math.max(down_r, down_l)));
			System.out.println("#" + test_case + " " + result);
		}
	}
}