알고리즘 자료구조/백준

[백준] 2167 2차원 배열의 합

yes_truly 2023. 8. 1. 02:58
728x90

2167번: 2차원 배열의 합 (acmicpc.net)

 

2167번: 2차원 배열의 합

첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는

www.acmicpc.net

🖊️문제

2차원 배열이 주어졌을 때 (i, j) 위치부터 (x, y) 위치까지에 저장되어 있는 수들의 합을 구하는 프로그램을 작성하시오. 배열의 (i, j) 위치는 i행 j열을 나타낸다.

 

 

🖊️문제 풀이

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        //배열입력
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[][] arr = new int[n][m];

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                arr[i][j] = sc.nextInt();
            }
        }

        //출력할 합계 개수 입력
        int k = sc.nextInt();

        //i, j, x, y입력
        while (k-->0){
            int i = sc.nextInt();
            int j = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();
            int sum = 0;

            for (int l = i-1; l <x ; l++) {
                for (int o = j-1; o <y ; o++) {
                    sum+=arr[l][o];
                }
            }
            System.out.println(sum);
        }
    }
}
728x90