알고리즘(종합)/Lv.3
2805 - 농작물 수확하기
ch.0
2022. 11. 18. 23:33

package test;
import java.io.IOException;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for (int k = 0; k < test; k++) {
int size = sc.nextInt();
int [][] array = new int[size][size];
int sum=0;
int middle =0;
int count=0;
//배열에 데이터 입력
for(int i=0; i<size; i++) {
String data = sc.next();
for(int j=0; j<size; j++) {
array[i][j] = Integer.parseInt((data).substring(j, j+1));
}
}
middle = (size/2)+1;
count=middle;
//0번째행부터 중간행까지
for(int i=0; i<(size/2)+1; i++) {
for(int j=middle-1; j<count; j++ ) {
if(j<size&&j>=0) {
sum+=array[i][j];
}
}
count++;
middle--;
}
count=count-2;
//중간행밑부터 마지막행까지
for(int i=(size/2)+1; i<size; i++) {
for(int j=middle+1; j<count; j++) {
sum+=array[i][j];
}
count--;
middle++;
}
System.out.println("#" + (k + 1) + " "+sum );
}
}
}
0번째 행부터 중간행까지는 시작점은 줄여주면서 반복횟수는 늘려줬다
중간행 다음부터는 시작점은 늘려주면서 반복횟수는 줄여줬다.