백준 6144 java : DP, 배낭문제

import java.util.Arrays;
import java.util.Scanner;
public class bj6144 {
static Scanner scanner = new Scanner(System.in);
static int N, M;
static int[] W;
static int[] D;
public static void main(String[] args) {
inputData();
System.out.println(findAnswer());
scanner.close();
}
public static void inputData(){
System.out.println("inputData()");
int i;
N = scanner.nextInt();
M = scanner.nextInt();
W = new int[N];
D = new int[N];
for(i = 0; i < N; i++){
W[i] = scanner.nextInt();
D[i] = scanner.nextInt();
}
}
public static int findAnswer(){
System.out.println("findAnswer()");
int [] DP = new int[M + 1];
int i, j;
for(i = 0; i < N; i++){
for(j = M; j >= W[i]; j--){
if(j - W[i] >= 0){
DP[j] = Math.max(DP[j], DP[j - W[i]] + D[i]);
}
}
for(j = 0; j <= M; j++){
System.out.print(DP[j] + " ");
}
System.out.println();
}
return DP[M];
}
}