백준 2167

황상익·2024년 1월 2일
0

백준

목록 보기
15/15
package backjoon;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main2167 {
    public static void main(String[] args) throws IOException, IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        StringBuilder sb = new StringBuilder();
        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        int[][] arr = new int[n][m];
        // 배열 초기화
        for (int i = 0; i < n; i++) {
            st = new StringTokenizer(br.readLine());
            for (int j = 0; j < m; j++) {
                arr[i][j] = Integer.parseInt(st.nextToken());
            }
        }
        int k = Integer.parseInt(br.readLine());
        for (int t = 0; t < k; t++) {
            st = new StringTokenizer(br.readLine());
            int i = Integer.parseInt(st.nextToken()) - 1;
            int j = Integer.parseInt(st.nextToken()) - 1;
            int x = Integer.parseInt(st.nextToken()) - 1;
            int y = Integer.parseInt(st.nextToken()) - 1;
            int sum = 0;

            // (i,j)부터 (x,y)까지 더하기
            for (int p = i; p <= x; p++) {
                for (int q = j; q <= y; q++) {
                    sum += arr[p][q];
                }
            }
            sb.append(sum + "\n");
        }
        System.out.print(sb);
    }
}

처음에 문제를 접했을때 문제 해석하는데 조금 애를 먹었다.
dp알고리즘을 첨 접해본 나로써는 어찌 풀어야 하는지 부터가 막막하긴 했지만
타 여러 블로그및 개념을 보면서 dp알고리즘이 뭔지 하나 배워간다는 생각으로 문제를 접했다. 공부 할께 진짜 많다.. 끝도 없이 나오는 느낌이다.

profile
개발자를 향해 가는 중입니다~! 항상 겸손

0개의 댓글