본문 바로가기
Problem Solving/SWEA

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

by 테리는당근을좋아해 2020. 2. 16.

문제

100 X 100 크기의 2차원 배열이 주워졌을 때, 가로, 세로, 대각선의 합 중 최댓값을 구하는 문제

 

풀이방법

완전탐색으로 각 행과 열, 대각선의 합을 구해서 최댓값을 찾는다.

 

소스코드

package samsung;

import java.util.*;

public class s_1209 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		for(int t = 1; t <= 10; t++) {
			int tmp = sc.nextInt();
			int[][] a = new int[100][100];
			int max = 0;
			
			for(int i = 0; i < 100; i++) {
				int sum = 0;
				for(int j = 0; j < 100; j++) {
					a[i][j] = sc.nextInt();
					sum += a[i][j];
				}
				max = Math.max(sum, max);
			}
			
			for(int i = 0; i < 100; i++) {
				int sum = 0;
				for(int j = 0; j < 100; j++) {
					sum += a[j][i];
				}
				max = Math.max(sum, max);
			}
			int sum1 = 0;
			int sum2 = 0;
			for(int i = 0; i < 100; i++) {
				sum1 += a[i][i];
				sum2 += a[i][100-1-i];
			}
			max = Math.max(((sum1 > sum2) ? sum1 : sum2), max);
			System.out.println("#" + t + " " + max);
		}
	}
}

 

댓글