
문제
* 해당 문제의 모든 저작권은 SWEA 측에 있으며 본 블로그는 SWEA 약관을 위배하지 않음을 명시합니다.*
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
풀이
DP로 풀 수 있을 거 같기도 하고, 반복문 자체를 줄일 수도 있을 거 같은 문제였습니다.
다만 해당 문제의 테스트 케이스는 작은 수만을 요구해서 따로 복잡하게 풀지 않았습니다.
수가 커진다면 반복문을 줄이는 게 맞을 거 같아요.
소스 코드
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int test_case = 1; test_case <= T; test_case++) {
int answer = 0;
int[][] arr = new int[15][15];
int N = sc.nextInt();
int M = sc.nextInt();
int max = 0;
for(int i = 0; i < N; i++) {
for(int j = 0; j < N; j++) {
arr[i][j] = sc.nextInt();
}
}
for(int i = 0; i <= N - M; i++) {
for(int j = 0; j <= N - M; j++) {
int sum = 0;
for(int x = i; x < M + i; x++) {
for(int y = j; y < M + j; y++) {
sum += arr[x][y];
}
}
if (sum > max) {
max = sum;
}
}
}
answer = max;
System.out.println("#" + test_case + " " + answer);
}
}
}'Programming Practice > SWEA' 카테고리의 다른 글
| [SWEA] 1974. 스도쿠 검증 - D2 (Java) (0) | 2022.07.05 |
|---|---|
| [SWEA] 1961. 숫자 배열 회전 - D2 (Java) (0) | 2022.07.05 |
| [SWEA] 1979. 어디에 단어가 들어갈 수 있을까 - D2 (Java) (0) | 2022.07.05 |
| [SWEA] 1959. 두 개의 숫자열 - D2 (Java) (0) | 2022.07.05 |
| [SWEA] 1215. 회문1 - (C++) (0) | 2022.06.04 |