끄적끄적
SWE 농작물 수확하기 본문
마름모 모양으로 표시된 구역만 더하는데, n의 크기에 따라서 n만큼 개수를 더했다가 1까지 작아지는 형태로 규칙성을 가진다. 따라서 한줄에 받을 개수와 시작 위치를 저장하는 배열을 만들고
해당하는 위치만 더해주었다.
package day0803;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Farm {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int test= Integer.parseInt(bf.readLine());
for(int t=1;t<=test;t++) {
int sum=0;
int n=Integer.parseInt(bf.readLine());
int [][]arr=new int[n+1][n+1];
for(int i=1;i<=n;i++) {
String s= bf.readLine();
for(int k=0;k<s.length();k++) {
arr[i][k+1]=s.charAt(k)-'0';
}
}
List<Integer>start= new ArrayList<>();
List<Integer> num= new ArrayList<>();
for(int i=n/2+1;i>=1;i--)
start.add(i);
for(int i=2;i<=n/2+1;i++)
start.add(i);
for(int k=1;k<=n;k+=2)
num.add(k);
for(int k=n-2;k>=1;k-=2)
num.add(k);
for(int i=0;i<start.size();i++) {
for(int j=1;j<=num.get(i);j++) {
sum+=arr[i+1][start.get(i)+j-1];
}
}
System.out.println("#"+t+" "+sum);
}
}
}
'알고리즘' 카테고리의 다른 글
SWE Flatten (0) | 2021.08.06 |
---|---|
SWE 상호의 배트필드 (0) | 2021.08.06 |
SWE 파리 퇴치 (0) | 2021.08.06 |
프로그래머스 - 타겟 넘버(c++) (0) | 2021.04.21 |
백준 1916 최소 비용 구하기 (0) | 2021.04.16 |
Comments