수확


답안 제출

Points: 1
시간 제한: 1.0s
메모리 제한: 256M

문제 유형
허용된 언어
C, C++, Python

한 농장에는 7행 7열 크기의 밭이 있다.
각 칸에는 그 칸에서 수확할 수 있는 작물의 가치가 정수로 적혀 있다.

농부는 3행 3열 크기의 구역 하나를 골라 작물을 수확하려고 한다.
7행 7열 밭의 각 칸의 가치가 주어질 때, 가능한 3행 3열 구역 중 가치의 합이 가장 큰 값을 출력하는 프로그램을 작성하시오.

입력

  1. 7행 7열의 정수가 입력된다.
  2. 입력되는 수는 모두 49개이며, 공백으로 구분된다.
  3. 각 수의 범위는 -100 이상 100 이하이다.

출력

가치의 합이 최대가 되는 3행 3열 구역의 합을 출력한다.

입력 예시

3 -2 5 1 0 4 -1
-5 10 8 -3 2 1 6
4 7 9 5 -2 3 0
-1 6 8 12 4 -4 2
2 -3 1 7 9 5 -6
0 4 -2 3 6 8 1
-4 2 5 -1 3 0 7

출력 예시

62

코멘트


  • 0
    한상훈  2026년 6월 14일 오후 6시 04분에 작성되었습니다

    nt main() { int arr[7][7] = {}, cnt = 0, max = -4900; for(int i = 0 ; i < 7 ; i++) { for(int j = 0 ; j < 7 ; j++) scanf("%d", &arr[i][j]); } for(int i = 1 ; i < 6 ; i++) { for(int j = 1 ; j < 6 ; j++) { cnt = 0; cnt+=arr[i-1][j-1]+arr[i][j-1]+arr[i][j]+arr[i-1][j-1]+arr[i+1][j]+arr[i+1][j-1]+arr[i+1][j+1]+arr[i][j+1]+arr[i-1][j+1]; if(cnt > max) max = cnt; } } printf("%d", cnt); }


  • 0
    김찬희  2026년 6월 6일 오후 7시 22분에 작성되었습니다

    include <stdio.h>

    int main() { int arr[7][7] = {}, cnt = 0, max = -4900; for(int i = 0 ; i < 7 ; i++) { for(int j = 0 ; j < 7 ; j++) scanf("%d", &arr[i][j]); } for(int i = 1 ; i < 6 ; i++) { for(int j = 1 ; j < 6 ; j++) { cnt = 0; cnt+=arr[i-1][j-1]+arr[i][j-1]+arr[i][j]+arr[i-1][j-1]+arr[i+1][j]+arr[i+1][j-1]+arr[i+1][j+1]+arr[i][j+1]+arr[i-1][j+1]; if(cnt > max) max = cnt; } } printf("%d", cnt); }