- 문제
- 농장의 크기는 홀수이고 정사각형이며, 수확은 농장의 크기에 맞는 정사각형 마름모 형태만 가능하다.
- 전체 농장의 수확량이 주어지고, 마름모 형태로 수확이 가능한 수확량을 반환하면 된다.
- 수확량을 2차원 배열에 담을 필요 없이 마름모 조건을 통해서 입력 받은 값이 조건에 해당하면 result에 더하는 식으로 개발하였다.
package SWExpertAcademy;
import java.util.Arrays;
import java.util.Scanner;
public class Q2805 {
// 농작물 수확하기
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T;
T = sc.nextInt();
for (int test_case = 1; test_case <= T; test_case++) {
int n = sc.nextInt();
int margin = 0;
int result = 0;
int mid = n / 2;
for (int i = 0; i < n; i++) {
String[] line = sc.next().split("");
for (int j = 0; j < n; j++) {
int val = Integer.parseInt(line[j]);
if (mid - margin <= j && mid + margin >= j)
result += val;
}
if (i >= mid)
margin--;
else
margin++;
}
System.out.println("#" + test_case + " " + result);
}
}
}