문제 접근
파란 부분을 상단, 중간, 아래로 나누어서 계산
배열의 인덱스는 0부터 시작이라 N/2를 사용하면 인덱스의 중간 사용 가능
하단 부분 범위 정하는 게 헷갈렸는데 상단과는 반대로 i는 작아져야하고, 작아지는 i를 토대로 N-i-1로 하단의 인덱스를 지정
import java.util.*;
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for(int t=1; t<=T; t++) {
int N = Integer.parseInt(br.readLine());
int[][] map = new int[N][N];
for(int i=0; i<N; i++) {
String str = br.readLine();
for(int j=0; j<N; j++) {
map[i][j] = str.charAt(j)-48;
}
}
int sum=0;
// 상단
for(int i=0; i<N/2; i++) {
for(int j=N/2-i; j<=N/2+i; j++) {
sum += map[i][j];
}
}
// 중간
for(int i=N/2; i == N/2; i++) {
for(int j=0; j<N; j++) {
sum += map[i][j];
}
}
// 하단
for(int i= (N/2)-1; i>=0; i--) {
for(int j= N/2-i; j<= N/2+i; j++) {
sum += map[N-i-1][j];
}
}
System.out.println("#"+t+" " + sum);
}
}
}
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA / 회문1 / JAVA] (0) | 2023.05.18 |
---|---|
[SWEA / 원재의 메모리 복구하기 / JAVA] (0) | 2023.05.17 |
[SWEA / N-Queen / JAVA] (0) | 2023.05.16 |
[SWEA / 파리 퇴치 / JAVA] (0) | 2023.05.15 |
[SWEA / Flattern / JAVA] (0) | 2023.05.14 |
댓글