반응형
츄르사려고 코딩하는 코집사입니다.
1. [SW expert Academy] SWEA 2001번 파리퇴치 자바(Java)
2. 코드
import java.util.Scanner;
import java.util.Arrays;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int i=1;i<=T;i++) {
int N = sc.nextInt();
int M = sc.nextInt();
int[][] arr = new int[N][N];
int max = 0;
//배열 입력
for(int j=0;j<N;j++) {
for(int k=0;k<N;k++) {
arr[j][k] = sc.nextInt();
}
}
for(int a=0;a<N-M+1;a++) {
for(int b=0;b<N-M+1;b++) {
int sum = 0;
for(int c=0;c<M;c++) {
for(int d=0;d<M;d++) {
sum += arr[a+c][b+d];
}
}
if(max<sum) {
max = sum;
}
}
}
System.out.printf("#%d %d",i,max);
System.out.println("");
}
}
}
- 2805번 농작물 수확하기를 풀면 쉽게 풀 수 있다.
- 위의 코드는 M만 움직임에 따라 순서만 이중포문을 설정하고 더해주는 방법이다.
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 ans = 0;
for(int i = 0; i <= N-M; i++) {
for(int j = 0; j <= N-M; j++) {
int sum = 0;
for(int m = i; m < i+M; m++ ) {
for(int n = j; n < j+M; n++) {
sum += arr[m][n];
}
}
ans = Math.max(ans, sum);
}
}
System.out.println("#%d %d",tc,ans);
}
}
}
- 위의 코드는 M과 같이 움직이면서 더하는 방법이다.
반응형
'알고리즘 > SW expert Academy' 카테고리의 다른 글
[SW expert Academy] SWEA 2025번 N줄 덧셈 자바(Java) (0) | 2021.01.23 |
---|---|
[SW expert Academy] SWEA 2058번 자릿수 더하기 자바(Java) (0) | 2021.01.22 |
[SW expert Academy] SWEA 2047번 신문 헤드라인 자바(Java) (0) | 2021.01.22 |
[SW expert Academy] SWEA 2046번 스탬프 찍기 자바(Java) (0) | 2021.01.22 |
[SW expert Academy] SWEA 2805번 농작물 수확하기 자바(Java) (0) | 2021.01.20 |
[SW expert Academy] SWEA 1545번 거꾸로 출력해 보아요 자바(Java) (0) | 2021.01.14 |
[SW expert Academy] SWEA 5215번 햄버거 다이어트 파이썬(Python) (0) | 2021.01.13 |
[SW expert Academy] SWEA 1289번 원재의 메모리 복구하기 파이썬(Python) (0) | 2021.01.13 |
최근댓글