mooon๐ŸŒ™
STUDY
mooon๐ŸŒ™
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (170)
    • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ (147)
      • ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (53)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv1 (13)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ž…๋ฌธ (54)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] SQL ๊ณ ๋“์  Kit (27)
    • BACK (4)
      • Spring (3)
      • PHP (0)
    • FRONT (5)
    • DevOps (8)
      • Jenkins (8)
    • GitHub๐ŸŒฑ (2)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (1)
      • SQL (1)
    • Error ๐Ÿ’ฅ (0)
      • php (2)
    • ๐Ÿ˜‹ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • โญ ๊นƒํ—ˆ๋ธŒ
  • ๐Ÿ’• ๋ฐฉ๋ช…๋ก
  • ๐Ÿ’ฅ ํƒœ๊ทธ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • SQL
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • SQL ๊ณ ๋“์  Kit
  • ๋ฐฑ์ค€
  • DevOps
  • Python
  • c++
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ
  • ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ตœ๊ทผ ๊ธ€

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
mooon๐ŸŒ™

STUDY

๋ฐฑ์ค€ 12865 _ ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ
์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐฑ์ค€ 12865 _ ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ

2020. 12. 12. 18:09
728x90

www.acmicpc.net/problem/12865

 

12865๋ฒˆ: ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ

์ฒซ ์ค„์— ๋ฌผํ’ˆ์˜ ์ˆ˜ N(1 ≤ N ≤ 100)๊ณผ ์ค€์„œ๊ฐ€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ K(1 ≤ K ≤ 100,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑฐ์ณ ๊ฐ ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ W(1 ≤ W ≤ 100,000)์™€ ํ•ด๋‹น ๋ฌผ๊ฑด์˜ ๊ฐ€์น˜ V(0 ≤ V ≤ 1,000)

www.acmicpc.net


โœจ ๋‚ด ์†Œ์Šค ์ฝ”๋“œ

#include<iostream>
#include <string>
#include<algorithm>
using namespace std;
int N, K, dp[101][100001], W[101], V[101];
int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	int N, K;
	cin >> N >> K;

	for (int i = 0; i < N; i++) {
		cin >> W[i] >> V[i];
	}

	for (int i = 0; i <= N; i++) {
		for (int j = 0; j <= K; j++) {
			if (i == 0) {
				if (j - W[i] >= 0) {
					dp[i][j] = V[i];
				}
			}
			else {
				dp[i][j] = dp[i - 1][j];
				if (j - W[i] >= 0) {
					dp[i][j] = max(dp[i][j], dp[i - 1][j - W[i]] + V[i]);
				}
			}
			
		}
	}
    
	cout << dp[N][K] << endl;
	
	return 0;
}

 

๐Ÿ™ ๋ฌธ์ œ ํ’€์ด

dp๋ฐฐ์—ด์€ dp[๋ฌผ๊ฑด][๋ฌด๊ฒŒ] = ๊ฐ’์–ด์น˜ ๋ฅผ ์˜๋ฏธํ•œ๋‹ค

๋ฐฑ์ค€์˜ ์˜ˆ์ œ ์ž…๋ ฅ์œผ๋กœ ์œ„ ์ฝ”๋“œ์˜ DP ๋ฐฐ์—ด์„ ์‚ดํŽด๋ณด๋ฉด

๋‹ค์Œ๊ณผ ๊ฐ™์€ DP ๋ฐฐ์—ด์ด ๋งŒ๋“ค์–ด์ ธ์„œ ๊ฒฐ๊ณผ์ธ dp[N][K] ๊ฐ’์œผ๋กœ๋Š” 14๊ฐ€ ์ถœ๋ ฅ๋˜๊ฒŒ ๋œ๋‹ค

 

 

ํ•˜๋‚˜์”ฉ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด, ์ผ๋‹จ 1๋ฒˆ ๋ฌผ๊ฑด๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ๋ฅผ ์‚ดํŽด๋ณด์ž (dp[0])

๋ฌผ๊ฑด์ด 1๊ฐœ ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ™•์ธ ํ•  ๊ฑด, ํ˜„์žฌ ๋ฌด๊ฒŒ์— ํ•ด๋‹น ๋ฌผ๊ฑด์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋А๋ƒ ์—†๋А๋ƒ ๋ฟ์ด๋‹ค

๋ฌผ๊ฑด์„ ๋„ฃ์„ ์ˆ˜ ์—†์œผ๋ฉด ๊ทธ๋Œ€๋กœ 0, ๋„ฃ์„ ์ˆ˜ ์žˆ์œผ๋ฉด ํ•ด๋‹น ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค 

 

 

1๋ฒˆ, 2๋ฒˆ 2๊ฐœ์˜ ๋ฌผ๊ฑด์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ๋ฅผ ์‚ดํŽด๋ณด์ž (dp[1])

ํ˜„์žฌ ๋ฌผ๊ฑด์„ ๋„ฃ์ง€ ์•Š๋Š” ์•Š์•˜์„ ๋•Œ์˜ ๊ฐ’์–ด์น˜์™€, ํ˜„์žฌ ๋ฌผ๊ฑด์„ ๋„ฃ์—ˆ์„ ๋•Œ์˜ ๊ฐ’์–ด์น˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋” ํฐ ๊ฐ’์„ ์ทจํ•˜๊ฒŒ ๋œ๋‹ค

 

dp[1][6]๊ฐ™์€ ๊ฒฝ์šฐ, dp[0][6] = 13๊ณผ dp[0][2]+8 = 8 ์„ ๋น„๊ตํ•˜๊ฒŒ ๋œ๋‹ค 8๊ณผ 13์ค‘ 13์ด๋ผ๋Š” ๊ฐ’์ด ๋” ํฌ๊ธฐ๋•Œ๋ฌธ์— dp์— ์ €์žฅ

 

 

1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ 3๊ฐœ์˜ ๋ฌผ๊ฑด์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ๋ฅผ ์‚ดํŽด๋ณด์ž(dp[2])

dp[2][4]์˜ ๊ฒฝ์šฐ, dp[1][4] = 8 ๊ณผ dp[1][1] + 6 = 6์„ ๋น„๊ตํ•˜๊ฒŒ ๋œ๋‹ค. ๋‘˜ ์ค‘ ํฐ ๊ฐ’์„ ์ทจํ•ด์„œ dp์— ์ €์žฅ

๋‚˜๋จธ์ง€์˜ ๊ฒฝ์šฐ๋„ ์œ„์™€ ๊ฐ™์ด ์ง„ํ–‰๋˜๊ฒŒ ๋œ๋‹ค

 

 

โญ ๋ฌธ์ œ ํ’€์ด ๊ฒฐ๊ณผ

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๋ฐฑ์ค€ 18353 _ ๋ณ‘์‚ฌ ๋ฐฐ์น˜ํ•˜๊ธฐ
    • ๋ฐฑ์ค€ 1764 _ ๋“ฃ๋ณด์žก
    • ๋ฐฑ์ค€ 11053 _ ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด
    • ๋ฐฑ์ค€ 2624 _ ๋™์ „ ๋ฐ”๊ฟ”์ฃผ๊ธฐ
    mooon๐ŸŒ™
    mooon๐ŸŒ™
    ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๊ธฐ๋ก

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”