SWEA_D2_2001
๐ [D2_2001] ํ๋ฆฌ ํด์น
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int tc = 1; tc <= T; tc++) {
int N = sc.nextInt();
int M = sc.nextInt();
// ์
๋ ฅ
int[][] arr = new int[N][N];
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
arr[i][j] = sc.nextInt();
}
}
int max = 0;
// ํ์
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
int sum = 0;
// M*M ํ๋ฆฌ์ฑ ํ์
for (int a = 0; a < M; a++) {
for (int b = 0; b < M; b++) {
int nx, ny;
nx = j + b;
ny = i + a;
// ๋ฒ์ ๋์ด๊ฐ๋ฉด ์ค์ง
if (nx < 0 || nx >= N || ny < 0 || ny >= N) {
break;
} else {
sum += arr[ny][nx];
}
}
}
// ์ต๋๊ฐ ๊ตฌํ๊ธฐ
max = Math.max(max, sum);
}
}
// ์ถ๋ ฅ
System.out.println("#" + tc + " " + max);
}
}
}
๐ค ๋์ ์๊ฐ
์ฒ์์ TestCase๋ง ๋ณด๊ณ 3๋ฐฉํฅ์ผ๋ก ๊ฐ์ผ์ง ํ๊ณ ์ ๋์ ํ๋๋ฐ..
๋ฐ๋ณด์๋ค.. ใ
ใ
ใ
๋ฌธ์ ๋ฅผ ์์ธํ ์ ์ฝ์ ๋ฐ๋ณด..
๊ทธ๋์ ๋ฐฉํฅํ์๋ณด๋ค ์ฐจ๋ผ๋ฆฌ ์ด์ค for๋ฌธ์ผ๋ก ํ๋ฆฌ์ฑ๋ฅผ ํ์ํ์๊ณ ํ๋ค.
์ฌ์ค ํ๊ธฐ๋ ํ์ง๋ง ์๊ฐ ๋ณต์ก๋๊ฐ ์ด๋ง๋ฌด์ ํ ๊ฒ ๊ฐ๋ค.. O(n^4) ์ธ๊ฐ..?
์ด๊ฑด ๋งํ๊ฑฐ๋ค ์บฌ์บฌ์ป ๋์ค์ ๋ค๋ฅธ ์ฝ๋ ์ฐธ๊ณ ํด์ ํ ๋ฒ๋ ํ์ธํด ๋ด์ผ๊ฒ ๋ค.