no image
자바 [Algorithm] 누적합 - 백준 3020 개똥벌레
1. 문제  2. 접근법1. 홀수번째는 석순, 짝수번째는 종유석이 입력된다.2. 석순과 종유석 배열에 대한 누적합을 계산하여 높이 i번째까지 석순과 종유석의 개수를 저장한다.3. 부딪히는 장애물 수를 계산한다.int[] arr = new int[H+1];for (int i = 1; i 4. 최소 높이의 개수를 계산한다. 3. 코드package week08;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Baek3020 { public static void main(String[] args) throws IO..
2024.05.30
no image
자바 [Algorithm] 누적합 - 백준 11659 구간 합 구하기 4
1. 문제  2. 접근법입력1번째 줄 : N, M2번째 줄 : N+1 크기의 배열 값3번째 줄 이후 : 1~3구간의 합, 2~4구간의 합, 5~5 구간의 합 누적합 알고리즘은 누적 합 배열을 만들고 원하는 구간의 값을 출력하는 것이 편하다. [기본 배열]012345054321 [누적 합 배열]012345059121415 1~3구간의 합은5 + 4 + 3 = 12이다.출력하기 위해서는 누적합 배열에서 [3] - [1-1] = 12 값을 출력 2~4 구간의 합은 4 + 3 + 2 = 9이다.출력하기 위해서는 누적합 배열에서 [4] - [2-1]  = 14 - 5 = 9  따라서 i, j로 취급하여누적합배열[i] - 누적합배열[j-1]을 하면 원하는 값이 나온다. 3. 코드package week08;impor..
2024.05.27
no image
자바 [Algorithm] 누적합 - 백준 2167 2차원 배열의 합
1. 문제 2. 접근법1. 배열을 [n+1][m+1] 만큼 선언해준다.2. 배열에 값을 채운다.3. K개 값을 받는다.4. x1,y2 ~ x2,y2의 값을 구한다. 01231124281632 ex] (1,1) 부터 (2,3)까지 합을 구한다.for(int i = x1; i 3. 코드package week08;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Baek2167 { public static void main(String[] args) throws IOException { Buffered..
2024.05.24
no image
자바 [Algorithm] 누적합 - 백준 2851 슈퍼 마리오
1. 문제2. 접근법마리오는 받은 점수의 합을 최대한 100에 가깝게 만든다고 한다.하지만 100에 가까운 수가 2개라면 ex) 98, 102 마리오는 큰 값을 선택한다. 1. 반복문으로 1~10까지 sum에 점수를 더한다.2. if(sum > 100)이 되면3. 100 - (sum - mario[i]) 3. 코드package week08;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Baek2851 { public static void main(String[] args) throws IOException { BufferedReader buffered..
2024.05.24