입력)

- 10개의 테스트 케이스

- 100x100 크기의 2차원 정수 배열

 

출력)

-  출력값이 integer 범위를 넘지 않음!

- #(테스트 케이스 번호) (각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값)


입, 출력 분석)

- (생략)

 

핵심)

- for문을 잘 다룰 수 있는 능력만 있다면 충분히 할 수 있다.

 

예시 분석)

- (생략)

 

실수) 

- 대각선 / 부분에서 x index는 증가하고, y index만 99(100아님!)에서 감소한다는 것


구현)

#include<stdio.h>
using namespace std;

#define SIZE 100
int arr[SIZE][SIZE] = {0,};
int MAX = 0;

int main(int argc, char** argv) {
	int test_case;
	for (test_case = 1; test_case <= 10; ++test_case) {
		MAX = 0;
		scanf("%d", &test_case);
		for (int i = 0; i < SIZE; i++){
			int temp = 0;
			for (int j = 0; j < SIZE; j++){
				scanf("%d", &arr[i][j]);
				temp += arr[i][j]; // 각 행의 합
			}
			if(MAX < temp) MAX = temp;
		}
		for (int j = 0; j < SIZE; j++){
			int temp = 0;
			for (int i = 0; i < SIZE; i++)
				temp += arr[i][j]; // 각 열의 합
			if(MAX < temp) MAX = temp;
		}
		int temp1 = 0, temp2 = 0;
		for (int i = 0; i < SIZE; i++){
			temp1 += arr[i][i];
			temp2 += arr[i][(SIZE-1)-i]; // 실수한 부분!
		}
		if(MAX < temp1) MAX = temp1;
		if(MAX < temp2) MAX = temp2;
		
		printf("#%d %d\n", test_case, MAX);
	}
	return 0;
}

'Algorithm&Problem > [Problems] SWEA' 카테고리의 다른 글

BOJ[20055]. 컨베이어 벨트 위의 로봇  (0) 2021.04.21
[D4] 1211. ladder2  (0) 2020.08.20
[D4] 1210.Ladder1  (0) 2020.08.18
[D3] 1206. View  (0) 2020.08.08
[D3] 1208. Flatten  (0) 2020.07.25

+ Recent posts