728x90
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq
입력으로 주어진 N*N배열안에 M*M크기의 파리채를 내려쳐 가장 많은 파리를 죽이는 경우를 찾는 문제
[입력]
5 2
1 3 3 6 7
8 13 9 12 8
4 16 11 12 6
2 4 1 23 2
9 13 4 7 3
[출력]
#1 49
[풀이]
다중for문을 돌려 풀었다.
=> N*N의 위치를 정하는 이중for문 + 그 위치에서 M*M을 탐색하여 더하는 이중for문
public class swea_2001 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int tc = sc.nextInt();
for (int t = 0; t < tc; t++) {
int N = sc.nextInt();
int M = sc.nextInt();
int cha = N-M;
int max = 0, sum = 0;
int[][] arr = new int[N][N];
for (int r = 0; r < N; r++) {
for (int c = 0; c < N; c++) {
arr[r][c] = sc.nextInt();
}
}
for(int i=0; i<=cha; i++) {
for(int j=0; j<=cha; j++) {
sum=0;
for(int r=i; r<i+M;r++) {
for(int c=j; c<j+M;c++) {
sum+=arr[r][c];
}
}
if(max<sum) max=sum;
}
}
System.out.printf("#%d %d\n",t+1,max);
}
}
}
728x90
'알고리즘 > SWEA' 카테고리의 다른 글
[Java] SWEA2805_농작물수확하기 (0) | 2022.03.16 |
---|---|
[Java] SWEA1873_상호의배틀필드 (0) | 2022.03.16 |
[Java] SWEA1208_Flatten (0) | 2022.03.16 |
[Java] SWEA1289_원재의메모리복구하기 (0) | 2022.03.12 |
[Java] SWEA1954_달팽이숫자 (0) | 2022.03.12 |
댓글