목록누적합 (3)
개발 무지렁이
나머지합 🪅 입력범위를 보고서 결과값이 int 범위(2147483647)를 넘어서는지를 예측할 수 있는가 🪅 구간합을 구할 때 누적합을 구할 수 있는가 🪅 누적합을 구할 때 패딩을 넣어줄 수 있는가 🪅 (S[i] - S[j]) % M == 0, 분배법칙을 이용해 문제를 해결할 수 있는가 => S[i] % M == S[j] % M 🪅 쌍을 구할 때 Combination을 이용할 수 있는가 => nC2 = n(n-1)/2 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public cla..
구간 합 구하기 5 🪅 이차원배열에서의 누적합을 구할 수 있느냐 🪅 누적합 배열을 만들 때, 패딩을 넣을 생각을 했느냐 🪅 답을 구하는 규칙을 만들 수 있느냐 => int res = accTable[x2][y2] - accTable[x2][y1-1] - accTable[x1-1][y2] + accTable[x1-1][y1-1]; 💡 문제 접근 과정 : 누적합을 이용해서 구간합을 구할 때는, 큰누적합- 작은누적합을 생각해야하고 항상 누적합의 시작점은 같아야한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Str..
구간합 구하기4 🪅 구간합을 구할때 누적합 - 누적합을 생각해낼 수 있느냐 🪅 누적합 배열을 만들때 index 0에 패딩까지 만들었느냐 => arr[i] + accSum[i-1]; [시간초과난 코드.java] public class Main { /** * 백준11659 구간합구하기4 * 입력: * 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. * 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. * 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. * * 출력: * 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. * @throws IOException */ public static void main(Str..