ํฐ์คํ ๋ฆฌ ๋ทฐ
[๋ ์ ์๊ณ ๋ฆฌ์ฆ]์ต๋ ์ ์ ๊ตฌํ๊ธฐ/ํ๋ฒํ ๋ฐฐ๋ญ ๋ฌธ์
choi95 2021. 8. 17. 14:23๋ฌธ์
์ด๋ฒ ์ ๋ณด์ฌ๋ฆผํผ์๋๋ํ์์ ์ข์ ์ฑ์ ์ ๋ด๊ธฐ ์ํ์ฌ ํ์๋ ์ ์๋์ด ์ฃผ์ N๊ฐ์ ๋ฌธ์ ๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค.๊ฐ ๋ฌธ์ ๋ ๊ทธ๊ฒ์ ํ์์ ๋ ์ป๋ ์ ์์ ํธ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ฃผ์ด์ง๊ฒ ๋ฉ๋๋ค. ์ ํ์๊ฐ M์์ N๊ฐ์ ๋ฌธ์ ์ค ์ต๋์ ์๋ฅผ์ป์ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.(ํด๋น ๋ฌธ์ ๋ ํด๋น์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฉด ํธ๋ ๊ฑธ๋ก ๊ฐ์ฃผํ๋ค, ํ ์ ํ๋น ํ๊ฐ๋ง ํ ์ ์๋ค)
https://www.acmicpc.net/problem/12865
ํด๋น ๋ฌธ์ ์ ๋ฐฑ์ค 12865๋ฒ ํ๋ฒํ ๋ฐฐ๋ญ ๋ฌธ์ ๋ ๋์ผํ ๋ฌธ์ ํ์ด๋ก ์งํ๋๊ธฐ ๋๋ฌธ์ ๊ฐ์ด ํฌ์คํ ํด๋๋ค.
๋ฌธ์ ํ์ด
https://choi95.tistory.com/137
์ ์ฒด์ ์ธ ๋ฌธ์ ํ์ด๋ ์ด์ ํฌ์คํ ์ ๋์ ๊ตํ ๋ฌธ์ ์ ์ ์ฌํ๋ค.
ํ์ง๋ง ์ต๋ ์ ์์ ํ๋ฒํ ๋ฐฐ๋ญ ๋ฌธ์ ๋ ์๋์ ๊ฐ์ ์ฐจ์ด์ ์ด ์๋ค.
- ๋์ ๊ตํ ๋ฌธ์ ๋ ์ฌ์ฉ๋๋ ๋์ ์ข ๋ฅ๊ฐ ์ค๋ณต๋์ด ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฅ
- ์ต๋ ์ ์์ ํ๋ฒํ ๋ฐฐ๋ญ ๋ฌธ์ ๋ ๋์ผํ ๋ฌธ์ ๋ฅผ ํ๊ฑฐ๋ ๊ฐ์ ๋ฌผ๊ฑด์ ๋ด์ ์ ์์
๊ฐ limit์ ๋์ํด ์ด๋ค์ง ์ ์๋ value๋ฅผ ๊ตฌํ๊ธฐ ์ํด ๋์ ๊ตํ ๋ฌธ์ ์ ๊ฐ์ด ์์์๋ถํฐ ์ํํ๋ฉฐ ์ ํ์์ ํตํด ๊ณ์ฐํ๊ฒ ๋๋ฉด ๋์ผํ
๋ฌธ์ ๋ฅผ ๊ณ์ ํ๊ฒ๋๊ฑฐ๋ ๊ฐ์ ๋ฌผ๊ฑด์ ๊ณ์ ๋ด๊ฒ ๋๋ ์ํฉ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ๋ง์ง๋ง ์ธ๋ฑ์ค์์๋ถํฐ ์ญ์์ผ๋ก ์ํ๊ฐ ์ด๋ค์ ธ์ผ ๋๋ค.
์ฝ๋_์ต๋ ์ ์ ๊ตฌํ๊ธฐ
function solution(m, arr) {
let answer = 0;
let dy = Array.from({length: m + 1}, () => 0);
for(let i = 0; i < arr.length; i++) {
let ps = arr[i][0];
let pt = arr[i][1];
for(let j = m; j >= pt; j--) {
dy[j] = Math.max(dy[j], dy[j - pt] + ps);
}
}
answer = dy[m];
return answer;
}
let arr = [[10, 5], [25, 12], [15, 8], [6, 3], [7, 4]];
console.log(solution(20, arr));
์ฝ๋_ํ๋ฒํ ๋ฐฐ๋ญ
function solution(m, arr) {
let answer = 0;
let dy = Array.from({length: m + 1}, () => 0);
for(let i = 0; i < arr.length; i++) {
let weight = arr[i][0];
let value = arr[i][1];
for(let j = m; j >= weight; j--) {
dy[j] = Math.max(dy[j], dy[j - weight] + value);
}
}
answer = dy[m];
return answer;
}
let arr = [[6, 13], [4, 8], [3, 6], [5, 12]];
console.log(solution(7, arr));
'์๊ณ ๋ฆฌ์ฆ > ๊ธฐ์ถ ๋ฐ ๋ฐฑ์ค ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2021 ์นด์นด์ค ์ฑ์ฉ์ฐ๊ณํ ์ธํด์ญ]์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (0) | 2021.08.20 |
---|---|
[2021 KAKAO BLIND RECRUITMENT]์ ๊ท ์์ด๋ ์ถ์ฒ_์ ๊ท ํํ์์ ๋ํด (0) | 2021.08.19 |
๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2021.08.18 |
[ํ๊ตญ์ ๋ณด์ฌ๋ฆผํผ์๋]์ ๋ง๋๊ธฐ (0) | 2021.07.14 |
[2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด์ญ]ํฌ๋ ์ธ ์ธํ ๋ฝ๊ธฐ (0) | 2021.07.12 |