풀이
농작물에서 가운뎃줄은 무조건 구해야 하므로 가운뎃줄을 기준으로 농작물의 절반 지점까지는 구역을 점점 넓혀가고 절반 이후부터는 점점 줄여가도록 하여 해결하였습니다.
코드
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int tc = 1; tc <= T; ++tc) {
int N = sc.nextInt(); // 농작의 크기 (<= 49)
int[][] arr = new int[N][N];
for (int i = 0; i < N; ++i) {
String str = sc.next();
// arr의 i번째 행에, 한 글자씩 숫자로 넣는다.
for (int j = 0; j < N; ++j) {
arr[i][j] = str.charAt(j) - '0';
}
}
int answer = 0, area = 0, mid = (N / 2);
for (int i = 0; i < N; ++i) {
int st = mid - area;
int en = mid + area;
for (int j = st; j <= en; ++j) {
answer += arr[i][j];
}
if (i >= mid) {
area--;
} else {
area++;
}
}
System.out.println("#" + tc + " " + answer);
}
sc.close();
}
}
'알고리즘 > SWEA' 카테고리의 다른 글
[Java] SWEA 6019번 기차사이의 파리 (0) | 2021.02.02 |
---|---|
[Java] SWEA 3376번 파도반 수열 (0) | 2021.02.01 |
[Java] SWEA 5215번 햄버거 다이어트 (0) | 2021.01.29 |
[Java] SWEA 6808번 규영이와 인영이의 카드게임 (0) | 2021.01.27 |
[Java] SWEA 8104번 조 만들기 (0) | 2021.01.26 |