2805. 농작물 수확하기 D3
N X N크기의 농장이 있다.
이 농장에는 이상한 규칙이 있다.
규칙은 다음과 같다.
① 농장은 크기는 항상 홀수이다. (1 X 1, 3 X 3 … 49 X 49)
② 수확은 항상 농장의 크기에 딱 맞는 정사각형 마름모 형태로만 가능하다.

1 X 1크기의 농장에서 자라는 농작물을 수확하여 얻을 수 있는 수익은 3이다.
3 X 3크기의 농장에서 자라는 농작물을 수확하여 얻을 수 있는 수익은 16 (3 + 2 + 5 + 4 + 2)이다.
5 X 5크기의 농장에서 자라는 농작물의 수확하여 얻을 수 있는 수익은 25 (3 + 2 + 1 + 1 + 2 + 5 + 1 + 1 + 3 + 3 + 2 + 1)이다.
농장의 크기 N와 농작물의 가치가 주어질 때, 규칙에 따라 얻을 수 있는 수익은 얼마인지 구하여라.
[제약 사항]
농장의 크기 N은 1 이상 49 이하의 홀수이다. (1 ≤ N ≤ 49)
농작물의 가치는 0~5이다.
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스에는 농장의 크기 N과 농장 내 농작물의 가치가 주어진다.
[출력]
각 줄은 '#t'로 시작하고, 공백으로 농장의 규칙에 따라 얻을 수 있는 수익을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
출력#1 23
[코드]
import java.io.*;
import java.util.*;
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 i = 1; i <= T; i++) {
int farm_size=Integer.parseInt(br.readLine());
String arr[]=new String[farm_size];
for (int i2 = 0; i2 < farm_size; i2++) {
String A=br.readLine();
arr[i2]=A;
}
int total=0;
int center=(int)Math.floor(farm_size/2);
int start=0;
int end=farm_size-1;
for (int i3 = start; i3 <= end; i3++) {
total+=arr[center].charAt(i3)-48;
}
int center_up=center;
int center_down=center;
while (center_up>=0) {
center_up--;
center_down++;
start++;
end--;
for (int i4=start; i4 <= end; i4++) {
total+=arr[center_up].charAt(i4)-48;
total+=arr[center_down].charAt(i4)-48;
}
}
System.out.println("#"+i+" "+total);
}
br.close();
}
}'SWEA(SWExpertacAdemy)' 카테고리의 다른 글
| [SWEA] 9997. 미니멀리즘 시계 D3 (자바) (0) | 2025.05.15 |
|---|---|
| [SWEA] 4751. 다솔이의 다이아몬드 장식 D3 (자바) (4) | 2025.05.14 |
| [SWEA] 3456. 직사각형 길이 찾기 D3 (자바) (1) | 2025.05.14 |
| [SWEA] 3314. 보충학습과 평균 D3 (자바) (0) | 2025.05.14 |
| [SWEA] 1225. [S/W 문제해결 기본] 7일차 - 암호생성기 D3 (자바) (0) | 2025.05.14 |