[JAVA][Baekjoon] 2018번 수들의 합 5 🌟
·
Coding Test/Baekjoon
2018번: 수들의 합 5어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한www.acmicpc.net  📌 투포인터 사용start_index와 end_index를 한 칸씩 이동해가면서 구하는 방법!sum > Nsum = sum - start_index; start_index ++;sum end_index++;sum = sum + end_indexsum = N cnt ++ ;end_index++;  ✅ PASS CODEimport java.io.BufferedReader;import java.io.IOException;import java.io..
[JAVA][Baekjoon] 10986번 나머지 합 ⭐️⭐️⭐️⭐️⭐️
·
Coding Test/Baekjoon
10986번: 나머지 합수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j)www.acmicpc.net📌 접근 방법처음에 구간합을 이용해서 풀기는 풀었는데 시간초과가 났다..아무래도 이중 배열을 사용해서 시간초과가 난 듯 하다(?)... (시간 제한이 1초임)⚡️ 시간 초과 코드import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { int N, M, c..
[JAVA][Baekjoon] 11660번 구간 합 구하기 5
·
Coding Test/Baekjoon
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..
[JAVA][Baekjoon] 11659번 구간 합 구하기 4
·
Coding Test/Baekjoon
11659번: 구간 합 구하기 4첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 jwww.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 번째 값을 빼주면 됨! ✅ PASS CODE..