๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๋์ ์ ๊ตฌํ๊ธฐ(๋ ์ ์๊ณ ๋ฆฌ์ฆ) ๋ณธ๋ฌธ
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๋์ ์ ๊ตฌํ๊ธฐ(๋ ์ ์๊ณ ๋ฆฌ์ฆ)
์์ผ์ด 2022. 7. 16. 15:37์ค๋ช
์ด๋ฒ ์ ๋ณด์ฌ๋ฆผํผ์๋๋ํ์์ ์ข์ ์ฑ์ ์ ๋ด๊ธฐ ์ํ์ฌ ํ์๋ ์ ์๋์ด ์ฃผ์ N๊ฐ์ ๋ฌธ์ ๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค.
๊ฐ ๋ฌธ์ ๋ ๊ทธ๊ฒ์ ํ์์ ๋ ์ป๋ ์ ์์ ํธ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ฃผ์ด์ง๊ฒ ๋ฉ๋๋ค.
์ ํ์๊ฐ M์์ N๊ฐ์ ๋ฌธ์ ์ค ์ต๋์ ์๋ฅผ ์ป์ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.
(ํด๋น๋ฌธ์ ๋ ํด๋น์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฉด ํธ๋ ๊ฑธ๋ก ๊ฐ์ฃผํ๋ค, ํ ์ ํ๋น ํ๊ฐ๋ง ํ ์ ์์ต๋๋ค.)
์
๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ๋ฌธ์ ์ ๊ฐ์N(1<=N<=50)๊ณผ ์ ํ ์๊ฐ M(10<=M<=300)์ด ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค๋ถํฐ N์ค์ ๊ฑธ์ณ ๋ฌธ์ ๋ฅผ ํ์์ ๋์ ์ ์์ ํธ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ฃผ์ด์ง๋๋ค.
์ถ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์ ํ ์๊ฐ์์ ์ป์ ์ ์๋ ์ต๋ ์ ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
์์ ์
๋ ฅ 1
5 20
10 5
25 12
15 8
6 3
7 4
์์ ์ถ๋ ฅ 1
41
import java.util.*;
public class Main {
/*static int n, m;
static int[] dy;
public int solution(int[] coin){
Arrays.fill(dy, Integer.MAX_VALUE);
dy[0] = 0;
for(int i=0; i<n; i++){
for(int j=coin[i]; j<=m; j++){
dy[j] = Math.min(dy[j], dy[j-coin[i]]+1);
}
}
return dy[m];
}*/
public static void main(String[] args) {
Main main = new Main();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int[] dy = new int[m+1];
for(int i=0; i<n; i++){
int ps = in.nextInt();
int pt = in.nextInt();
for(int j=m; j>=pt; j--){
dy[j] = Math.max(dy[j], dy[j-pt]+ps);
}
}
System.out.println(dy[m]);
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค ์ฐ์ต๋ฌธ์ /JAVA] ๋ฌธ์์ด ์์ถ (0) | 2022.08.11 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค ์ฐ์ต๋ฌธ์ /JAVA] ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2022.07.31 |
[JAVA/์ฝ๋ฉํ ์คํธ] ๋์ ๊ตํ(๋ ์์๊ณ ๋ฆฌ์ฆ) (0) | 2022.07.13 |
[JAVA/์ฝ๋ฉํ ์คํธ] 4. ๊ฐ์ฅ ๋์ ํ ์๊ธฐ (0) | 2022.07.09 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๋ ๋ถ๋ถ ์ฆ๊ฐ์์ด (0) | 2022.07.06 |