JAVA_LeetCode 416_Partition Equal Subset Sum 풀이 class Solution { public boolean canPartition(int[] nums) { int sum = 0; for(int num : nums) sum += num; if(sum % 2 != 0) return false; // sum / 2만큼의 숫자를 조합하여 넣을수 있도록 dp 논리 배열 생성 // dp[(sum / 2)]을 찾아서 반환해야함 int target = sum / 2; boolean dp[] = new boolean[target + 1]; dp[0] = true; for(int num : nums){ for(int i = target; i >= num; i--){ // 현재 숫자(num)를 포함하기 전의 합(i - num)이 가능했다면, // 현재 합(i)도 가능함 if(dp[i - num]) dp[i] = true; } // 최적화: 중간에 이미 target을 ...