삐까냥의 파도타기
Q11052. 카드 구매하기 본문
카드 수만큼의 최대값을 저장하며 나아가는 이중포문 로직입니다.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Q11052 { static long[][] dp = new long[2][1001]; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine());
int num = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine()); for (int i = 1; i <= num; i++) { dp[0][i] = Integer.parseInt(st.nextToken()); }
dp[1][1] = dp[0][1]; for (int i = 2; i <= num; i++) { long maxValue = dp[0][i]; for (int j = 1; j <= i/2; j++) { maxValue = Math.max(maxValue, dp[1][i-j] + dp[1][j]); } dp[1][i] = maxValue; }
System.out.println(dp[1][num]); } } |
'코딩 > 백준 알고리즘' 카테고리의 다른 글
Q1965. 상자넣기 (0) | 2019.02.18 |
---|---|
Q14501. 퇴사 (0) | 2019.02.17 |
Q2156. 포도주 시식 (0) | 2019.02.16 |
Q1890. 점프 (0) | 2019.02.16 |
Q1520. 내리막길 (0) | 2019.02.16 |