Baekjoon
10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 📌 접근 방법 처음에 구간합을 이용해서 풀기는 풀었는데 시간초과가 났다.. 아무래도 이중 배열을 사용해서 시간초과가 난 듯 하다(?)... ⚡️ 시간 초과 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import java.util.StringTo..
11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 📌 접근 방법 앞에서 진행한 11659번 문제와 상당히 비슷하다.(링크를 걸어뒀으니 참고!) 핑크색은 세로 가로의 누적합을 계속 더해준 상태로 입력한 값이 저장되어야 함! 하지만 중복되는 "?" 같은 값이 있기 때문에 빼준다 기호로 정리하자면 arr[i][j] = a[i-1][j] + a[i][j-1] -a[i-1][j-1] + input값 ✅ PASS CODE import java.io.BufferedReader; im..
11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 📌 접근 방법 구간합이란 누적합으로 구한다고 생각하면 편함! 배열에 값을 앞에서부터 누적시켜 저장한 후 해당 구간(i, j)의 합을 구하기 위해서는 ~j 까지의 누적합이 담긴 j번째 값에서 i-1을 빼주면 됨! 예를 들면 arr 배열에 1, 2, 4, 3, 6의 값이 있는데 2~4 구간의 합을 구하고 싶음! 배열에 누적합으로 1, 3, 7, 10, 16을 저장(인덱스는 1부터 시작한다) 4번째 값에서 2-1 번째 값을 빼주면 됨! ✅ PAS..
1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net ✅ PASS CODE import java.util.Scanner; public class Main { public static void main(String [] args) { Scanner sc = new Scanner(System.in); int M = sc.nextInt(); int max = 0; int[] arr = new int[1001]; double sum = 0; for (int i = 0; i < M; i++) { arr[i] = sc...