DP문제는 역시 점화식을 잘 세우는게 관건인 것 같다 근데 난 그걸 못한다.. ㅜㅠ 해보다가 잘 안되어서 결국 힌트를 얻고 코드도 보면서 풀었다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] p = new int[n + 1];
int[] dp = new int[n + 1];
for (int i = 1; i <= n; i++) {
int num = sc.nextInt();
p[i] = num;
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
dp[i] = Math.max(dp[i], p[j] + dp[i - j]);
}
}
System.out.println(dp[n]);
}
}
열심히 하자
'백준온라인' 카테고리의 다른 글
(JAVA) 백준온라인 10844번 - 쉬운 계단 수 (0) | 2023.09.15 |
---|---|
(JAVA) 백준온라인 16194번 - 카드 구매하기 2 (0) | 2023.09.12 |
(JAVA) 백준온라인 9095번 - 1, 2, 3 더하기 (0) | 2023.09.11 |
(JAVA) 백준온라인 11727번 - 2xn 타일링 2 (0) | 2023.09.10 |
(JAVA) 백준온라인 11726번 - 2xn 타일링 (0) | 2023.09.10 |