동전교환 (냅색 알고리즘) import java.util.Arrays; import java.util.Scanner; public class Main { //냅색 알고리즘 static int n, m; static int[] coins; //동전 종류 목록 static int[] dynamic; //최소 동전 개수 public int solution() { dynamic[0] = 0; for(int i=0; i [Solved]/코딩테스트 2023.04.06
최대점수 구하기 (냅색 알고리즘) import java.util.Scanner; public class Main06 { //냅색 알고리즘 public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); int[] dynamic = new int[m+1]; for(int i=0; i=time; j--) { //앞에서부터 돌면 중복 //뒤에서부터 돌아야 중복 회피 dynamic[j] = Math.max(dynamic[j], dynamic[j-time]+score); } } System.out.println(dynamic[m]); } } [Solved]/코딩테스트 2023.04.05