본문 바로가기

Algorithm22

백준 2108번 통계학 배열을 받아 산술평균, 중앙값, 최빈값, 범위를 구하여 출력하는 문제다. 최빈값은 주어진 배열의 범위 만큼의 배열을 새롭게 선언하여 문제를 해결하였다. 주어진 배열의 범위 : -2 ~ 8 빈도수를 입력할 배열(Freq) 선언 Freq = new int[11] Freq[0] => -2의 빈도수 Freq[1] => 1의 빈도수 ... Freq[10] = 8의 빈도수 import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; public class Main { static int[] arr; static int[] freq; static int N; public static void ma.. 2023. 3. 17.
백준 11651번 좌표 정렬하기 2 2차원 배열의 정렬에 관한 문제다. 자바의 2차원 배열 정렬에 관한 내용은 이 포스팅에 정리해두었다. 자바 - 2차원 배열 정렬 (오름차순, 내림차순, 다중 조건) 자바의 2차원 배열을 Arrays.sort() 를 통해 곧바로 정렬하려고 하면 java.lang.ClassCastException: I cannot be cast to java.lang.Comparable 오류가 발생한다. 오류 문구와 같이 비교 기준이 없어 캐스팅에 실패하기 2nyongs.tistory.com import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[.. 2023. 3. 17.
백준 12865번 평범한 배낭 평범한 배낭은 배낭의 최대 무게에 맞게 주어진 물건을 넣었을 때 얻을 수 있는 가치의 최대합을 구하는 문제다. 문제의 이름은 '평범한' 배낭이지만 실상은 전혀 평범하지 않은 문제다.. n번째 물건의 무게를 W(n), 가치를 V(n) 이라고 한다면 다음과 같이 나열할 수 있다. W(1), V(1) = 6, 13 W(2), V(2) = 4, 8 W(3), V(3) = 3, 6 W(4), V(4) = 5, 12 이를 활용해 가방에 담을 수 있는 최대 무게에 따른 1~4번 까지 물건과 그 때의 최대 가치를 표로 그려보면 몇 가지 규칙을 발견할 수 있다. (칸에 담기는 숫자의 의미는 최대 가치다.) ※ 참고로 세로줄은 n번 물건까지 탐색했다는 의미이다. 물건 (W, V) 0 kg 1 kg 2 kg 3 kg 4 k.. 2023. 3. 17.
백준 1932번 정수 삼각형 이 문제를 위에서 아래로 내려오면 최대값만 찾아서 풀이한다면 100% 오답이 난다. 이유는 이렇다. 7 -> 8(15) -> 1(16) -> 7(23) -> 5(28) // 정답은 30이다! 따라서, 우선 다음과 같이 삼각형 정수 배열을 저장하고, DP 배열을 초기화 해준다. 삼각형 배열 DP배열 7 0 0 0 0 0 0 0 0 0 3 8 0 0 0 0 0 0 0 0 8 1 0 0 0 0 0 0 0 0 2 7 4 4 0 0 0 0 0 0 4 5 2 6 5 4 5 2 6 5 2023. 3. 16.