Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 22bf789

Browse filesBrowse files
committed
docs: HanJaehee boj 12865 평범한배낭
1 parent 1e4a539 commit 22bf789
Copy full SHA for 22bf789

File tree

Expand file treeCollapse file tree

1 file changed

+62
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+62
-0
lines changed
Open diff view settings
Collapse file

‎HanJaehee/boj/12865/README.md‎

Copy file name to clipboard
+62Lines changed: 62 additions & 0 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# 백준 12865 평범한 배낭
2+
3+
[문제 링크](https://www.acmicpc.net/problem/12865)
4+
5+
## 1. 설계 로직
6+
7+
1. Bottom-up 방식으로 각 무게에서 최대 가치를 누적해갔다.
8+
9+
- 시간복잡도 : N
10+
11+
## 2. 코드
12+
13+
```java
14+
import java.io.BufferedReader;
15+
import java.io.IOException;
16+
import java.io.InputStreamReader;
17+
import java.util.StringTokenizer;
18+
19+
public class 평범한배낭 {
20+
21+
static int N, K;
22+
23+
static int dp[][], w[], v[];
24+
25+
public static void main(String[] args) throws IOException {
26+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
27+
StringTokenizer st = new StringTokenizer(br.readLine());
28+
29+
N = Integer.parseInt(st.nextToken());
30+
K = Integer.parseInt(st.nextToken());
31+
32+
dp = new int[N + 1][K + 1];
33+
34+
w = new int[N + 1];
35+
v = new int[N + 1];
36+
37+
for (int i = 1; i <= N; i++) {
38+
st = new StringTokenizer(br.readLine());
39+
w[i] = Integer.parseInt(st.nextToken());
40+
v[i] = Integer.parseInt(st.nextToken());
41+
}
42+
43+
for (int i = 1; i <= N; i++) {
44+
for (int j = 1; j <= K; j++) {
45+
dp[i][j] = dp[i - 1][j];
46+
if (j - w[i] >= 0)
47+
dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - w[i]] + v[i]);
48+
}
49+
}
50+
51+
System.out.println(dp[N][K]);
52+
53+
}
54+
55+
}
56+
57+
58+
```
59+
60+
## 3. 후기
61+
62+
- 착실하게 문제의 요구사항을 따라가면 되는 문제였습니다.

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.