일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 데이터길이
- select
- 자바
- n x 2 타일링 2
- 반복문
- Java
- 그대로 출력하기
- 문자열
- Eclipse
- darkest dark
- 10951
- 입출력
- 알고리즘
- oracle
- db
- Algorithm
- 동적계획법
- 오라클
- 2156
- Database
- DP
- JOIN
- 소숫점처리
- Dynamic Programming
- 데이터베이스
- ANSI JOIN
- SQL
- 백준
- 변수
- algoritm
Archives
- Today
- Total
목록포도주 시식 (1)
Cracking Code
[동적계획법 (D.P.)] 백준 2156: 포도주 시식, Java
1. 접근 규칙에 따라서 가능한 계획법을 짜도록 합니다. 동적계획법에 차근차근 저장할 배열과 입력을 받아 포도주 양을 저장할 배열이 필요했습니다. 동적계획법의 배열은 dp, 포도주 양을 저장할 배열은 arr라고 합시다. 규칙1. 포도주 잔을 선택하면 그 잔에 들어있는 포도주를 모두 마시고 원래 위치에 다시 놓는다. 규칙2. 연속으로 놓여 있는 3잔을 모두 마실 수 없다. 연속으로 3잔을 안 마시기만 하면 됩니다. 차근차근 적어 나가봅니다. dp[1] = arr[1] dp[2] = dp[1] + arr[2] 이제 3잔 째로 갈리게 됩니다. 1번 포도주를 마시고 3번 포도주를 마시는 것과 2번 포도주를 마시고 3번 포도주를 마시는 것 중 더 마시는 것은 무엇인가? dp[3] = Math.max(dp[1] +..
Algorithms/동적계획법 (Dynamic Programming)
2020. 8. 16. 18:53