자료구조 & 알고리즘/== 다이나믹 프로그래밍 ==

// 배낭에 물품을 담으려고 한다.// 배낭에는 k 무게 만큼의 물품을 담을 수 있다.// n 개의 물품이 주어지고 이 물품의 무게와 가치 정보가 items 2차원 배열에 주어졌을 때,// 최대 가치가 되도록 물품을 담았을 때의 가치를 출력하는 프로그램을 작성하세요.// 입출력 예시// items: {{6, 13}, {4, 8}, {3, 6}, {5, 12}}// n: 4// k: 7// 출력: 14public class Main { public static int solution(int[][] items, int n, int k) { Arrays.sort(items, (x, y) -> x[0] - y[0]); //무게가 작은 물품 먼저 int[][] dp = new int..
public class Main { // 피보나치 수열 일반풀이 방법 O(n^2) // 계산했던 부분도 다시 계산 // f(n) = f(n-1)+f(n-2) public static int fib(int n) { if (n == 0) { return 0; } if (n == 1) { return 1; } return fib(n - 1) + fib(n - 2); } // 타뷸레이션 방식 -> for문 - O(n) public static int fibDP(int n) { int[] arr = new int[n 재귀 - O(n) static int[]..
꾸준함의 미더덕
'자료구조 & 알고리즘/== 다이나믹 프로그래밍 ==' 카테고리의 글 목록