반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
2차원 배열의 합을 구하는 문제입니다. (i, j)부터 (x, y)까지 '직사각형' 범위의 합만 구합니다.
1 2 3
4 5 6
(1, 3)부터 (2, 3)까지의 합은 9 (3+6)
(1, 3)부터 (2, 3까지의 합이 (1, 3) + (2, 1) + (2, 2) + (2, 3)이 아닙니다.
3. 코드
import sys
input = sys.stdin.readline
#입력
N, M = map(int, input().split())
numlist = []
for _ in range(N):
numlist.append(list(map(int, input().split())))
K = int(input())
for _ in range(K):
i, j, x, y = map(int, input().split())
res = 0
for row in range(i-1, x):
for col in range(j-1, y):
res += numlist[row][col]
print(res)
이중 for문을 이용해서 직사각형 영역의 배열 합을 구해줍니다.
PyPy3 에서는 통과했지만, Python3에서는 시간초과가 납니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 2003 수들의 합 2 - 파이썬(Python) (0) | 2022.03.25 |
---|---|
[탐색/BFS] 백준 16236 아기 상어 - 파이썬(Python) (0) | 2022.03.24 |
[자료구조/큐] 백준 18258 큐 2 - 파이썬(Python) (0) | 2022.03.22 |
[Algorithm] 다익스트라(Dijkstra), 지름길의 지름길로 찾는 최적경로 (0) | 2022.03.22 |
[탐색/백트래킹] 백준 9663 N-Queen - 파이썬(Python) (0) | 2022.03.21 |
댓글