[S/W 문제해결 기본] 2일차 - Sum (D3)
문제 링크
- 입력된 100*100 배열의 각 행, 열, 대각선의 합을 구하고 그 중 최대값을 출력한다.
- 각 행, 열, 대각선의 합을 저장할 sum배열을 2*101 로 만들어
- 0행에는 각 행의 인덱스의 합을 계산
- 1행에는 각 열의 인덱스의 합을 계산
- 대각선의 합은 각각 [0][100] / [1][100] 에 저장했다.
Solution
package swea;
import java.util.Scanner;
public class p1209 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for(int t=1; t<=10; t++) {
sc.nextInt();
int[][] sum = new int[2][101];
for(int i=0; i<100; i++) {
for (int j=0; j<100; j++) {
int n = sc.nextInt();
sum[0][i] += n;
sum[1][j] += n;
if (i==j) sum[0][100] += n;
if ((i+j)==99) sum[1][100] += n;
}
}
int max = -1;
for(int i=0; i<2; i++) {
for (int j=0; j<101; j++) {
if (sum[i][j] > max) max = sum[i][j];
}
}
System.out.printf("#%d %d\n", t, max);
}
}
}