이번 문제도 합 배열을 이용해 해결해야 하는 문제이다. 합 배열을 구하는 방법은 S[i] = S[i-1] + A[i] 이다. 위 예제를 기준으로 살펴보자. 합 배열은 [1, 3, 6, 7, 9]로 3으로 나눈 나머지의 배열은 [1, 0, 0, 1, 0]이다. S[i] % M = 0이고 S[j] % M = 0이면 (S[i] - S[j]) % M = 0 이다. 따라서 S[i] % M == S[j] % M인 i와 j를 찾으면 되므로 나머지 배열의 같은 값을 가진 인덱스 중에서 2개를 고른 뒤 정답에 추가해 주면 된다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOEx..
[백준] 구간 합 - 10986_나머지 합 구하기 Java[자바]
이번 문제도 합 배열을 이용해 해결해야 하는 문제이다. 합 배열을 구하는 방법은 S[i] = S[i-1] + A[i] 이다. 위 예제를 기준으로 살펴보자. 합 배열은 [1, 3, 6, 7, 9]로 3으로 나눈 나머지의 배열은 [1, 0, 0, 1, 0]이다. S[i] % M = 0이고 S[j] % M = 0이면 (S[i] - S[j]) % M = 0 이다. 따라서 S[i] % M == S[j] % M인 i와 j를 찾으면 되므로 나머지 배열의 같은 값을 가진 인덱스 중에서 2개를 고른 뒤 정답에 추가해 주면 된다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOEx..
2024.01.31