https://www.acmicpc.net/problem/2167
2167번: 2차원 배열의 합
첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는
www.acmicpc.net

해석 및 팁
이 문제는 먼저 N과 M의 크기를 갖는 2차원 배열을 생성하고 값을 입력받아 넣습니다. 그리고 입력받은 값만큼 반복하여 x1, x2, y1, y2를 입력받은 후 범위에 해당하는 배열의 값을 더해서 출력해 주면 됩니다.
Java 코드
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 t = sc.nextInt();
for(int i = 0; i < t; i++) {
int sum = 0;
int x1 = sc.nextInt();
int y1 = sc.nextInt();
int x2 = sc.nextInt();
int y2 = sc.nextInt();
for(int j = x1 - 1; j < x2; j++) {
for(int k = y1 - 1; k < y2; k++) sum += arr[j][k];
}
System.out.println(sum);
}
}
}
'백준' 카테고리의 다른 글
백준 9655 돌 게임(Java) (0) | 2023.01.21 |
---|---|
백준 11004 K번째 수(Java) (0) | 2023.01.21 |
백준 17478 재귀함수가 뭔가요?(Java) (0) | 2023.01.21 |
백준 1789 수들의 합(Java) (1) | 2023.01.21 |
백준 2563 색종이(Java) (0) | 2023.01.21 |