SW Expert Academy
[SWEA] [JAVA] [Difficulty 2] [2001] 파리 퇴치
c0mmedes
2022. 11. 18. 02:41
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
import java.util.*;
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T= Integer.parseInt(br.readLine()); // 테스트케이스
for(int tc=1; tc<=T; tc++) {
StringTokenizer st = new StringTokenizer(br.readLine()," ");
int N = Integer.parseInt(st.nextToken()); // N*N 행렬
int M = Integer.parseInt(st.nextToken()); // M*M 파리채
int arr[][] = new int[N][N];
for(int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine()," ");
for(int j=0; j<N; j++) {
arr[i][j] = Integer.parseInt(st.nextToken());
}
}
int maxSum = 0;
// i, j 2중 for문은 시작좌표를 컨트롤한다고 생각하고 x,y 2중 for문은 그 좌표에서 이동하게 되는 좌표값을 컨트롤한다고 생각
for (int i = 0; i <= N - M; i++) {
for (int j = 0; j <= N - M; j++) {
int sum = 0;
for (int x = 0; x < M; x++) {
for (int y = 0; y < M; y++) {
sum += arr[i + x][j + y];
}
}
maxSum = Math.max(sum, maxSum);
}
}
// sb에 저장
sb.append("#" + tc +' ' + maxSum + "\n");
}
System.out.println(sb);
}
}