[백준/파이썬] 2167번 2차원 배열의 합 풀이

업데이트:



문제 정보


풀이

문제

2차원 배열과 여러 구간 (i, j) ~ (x, y)가 주어질 때 각 구간의 원소 합을 출력하는 문제입니다.

코드

import sys;read=sys.stdin.readline
n,m=map(int,read().split())
l=[list(map(int,read().split())) for _ in range(n)]
ans=[]
for k in range(int(read())):
    i,j,x,y = map(int,read().split())

    s=0
    for r in range(i-1,x):
        for c in range(j-1,y):s+=l[r][c]
    ans.append(s)
print('\n'.join(map(str,ans)))

설명

각 질의마다 지정된 행/열 구간을 이중 반복으로 순회해 직접 합산한 값을 결과 리스트에 저장한 뒤 출력합니다.



댓글남기기