1일 1알고/알고리즘 재활 프로젝트

SWEA 2001. 파리 퇴치 (Java)

yeong. 2021. 12. 3. 22:03

 

와;; D2 문제라서 그냥 쉽게만 풀릴 줄 알았는데 범위를 헷갈렸다.

새삼 내가 이런 사소한 디테일에 약하다는 걸 깨달았다.

다행히 설계할 때 디버깅해보면서 알아챘다.

쉬운 문제들이니까 계획 짜는 단계에서 무슨 값이 들어가는지 꼼꼼하게 체크해봐야겠다.

 

package week1;

import java.util.Scanner;

public class Solution_파리퇴치 {
	
	static int[][] map; 
	static int result, TC, N, M; 
	
	public static void main(String[] args) {
		
		Scanner sc=new Scanner(System.in);
		TC=sc.nextInt();
		
		for(int tc=1; tc<=TC; tc++) {
			N=sc.nextInt();
			M=sc.nextInt();
			
			result=0;
			map=new int[N][N];
			
			for(int i=0;i<N;i++) {
				for(int j=0;j<N;j++) {
					map[i][j]=sc.nextInt();
				}
			}
			
			for(int i=0;i<=N-M;i++) {
				for(int j=0;j<=N-M;j++) {
					result=Math.max(count(i, j), result);
				}
			}
			
			System.out.println("#"+tc+" "+result);
			
		}// end tc
	}

	// 파리채로 잡은 파리 세주는 메소드
	static int count(int starti, int startj) {
		int num=0;
		
		for(int i=starti;i<starti+M;i++) {
			for(int j=startj;j<startj+M;j++) {
				num+=map[i][j];
			}
		}
		
		return num;
	}
}