파이선) 어두운 건 무서워 - BOJ (2D Array prefix sum, and 블로그의 방향성)
https://www.acmicpc.net/problem/16507 r, c, q = map(int, input().split()) arr = [] for _ in range(r): arr.append(list(map(int, input().split()))) dp = [[0 for _ in range(c+1)] for _ in range(r+1)] # print(dp) for i in range(1, r+1): for j in range(1, c+1): dp[i][j] = -dp[i-1][j-1] + dp[i][j-1] + dp[i-1][j] + arr[i-1][j-1] for _ in range(q): r1, c1, r2, c2 = map(int, input().split()) num = dp[r2]..
백준) 이건 꼭 풀어야 해! - BOJ
https://www.acmicpc.net/problem/17390 17390번: 이건 꼭 풀어야 해! [2, 5, 1, 2, 3]을 비내림차순으로 정렬하면 [1, 2, 2, 3, 5]이다. www.acmicpc.net import sys input = sys.stdin.readline n, q = map(int, input().split()) arr = [0]+list(map(int, input().split())) arr.sort() dp = [] for i in arr: if not dp: dp.append(i) else: dp.append(dp[-1] + i) # print(dp) answer = [] for _ in range(q): l, r = map(int, input().split()) r..
파이썬) 두 배열의 합 - BOJ
https://www.acmicpc.net/problem/2143 2143번: 두 배열의 합 첫째 줄에 T(-1,000,000,000 ≤ T ≤ 1,000,000,000)가 주어진다. 다음 줄에는 n(1 ≤ n ≤ 1,000)이 주어지고, 그 다음 줄에 n개의 정수로 A[1], …, A[n]이 주어진다. 다음 줄에는 m(1 ≤ m ≤ 1,000)이 주어지고, 그 www.acmicpc.net 문제가 원하는바는 다음과 같다. 첫번째 배열 arr1 i부터 ,j까지의 합과 arr2의 k,l까지의 합이 t인 개수를 구하는 문제이다. 이 문제는 어떻게 풀어나가면 좋을까 단순히 생각해보자 arr1의 0번째부터. 0번째, 0번째부터 1번째 ... 1부터 1까지, 1부터 2까지 .... n부터 n까지 arr2의 0 - ..