[BOJ][C++] ๋ฐฑ์ค€ 2579๋ฒˆ: ๊ณ„๋‹จ์˜ค๋ฅด๊ธฐ

2025. 4. 23. 16:42ยท๐Ÿ’ญ Problem Solving/C++

๋ฌธ์ œ

https://www.acmicpc.net/problem/2579

 

๋ฌธ์ œ ์ดํ•ด

์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ๋Š” ๊ณ„๋‹จ์„ ๋ฐŸ๋Š” ๊ฒŒ์ž„์—์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ด ์ ์ˆ˜์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•œ๋‹ค.

 

๊ณ„๋‹จ ์˜ค๋ฅด๋Š” ๊ทœ์น™

  1. ํ•œ ๋ฒˆ์— ํ•œ ๊ณ„๋‹จ ๋˜๋Š” ๋‘ ๊ณ„๋‹จ์”ฉ ์˜ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.
  2. ์—ฐ์†๋œ ์„ธ ๊ณ„๋‹จ์„ ๋ฐŸ์œผ๋ฉด ์•ˆ ๋œ๋‹ค.
  3. ๋งˆ์ง€๋ง‰ ๋„์ฐฉ ๊ณ„๋‹จ์€ ๋ฐ˜๋“œ์‹œ ๋ฐŸ์•„์•ผ ํ•œ๋‹ค.
  4. ์‹œ์ž‘์ ์€ ๊ณ„๋‹จ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

๋ฌธ์ œ ํ’€์ด

๐Ÿ” ์ ‘๊ทผ

๊ฐ ๊ณ„๋‹จ๋งˆ๋‹ค ํ˜„์žฌ ๊ณ„๋‹จ๊นŒ์ง€์˜ ์ ์ˆ˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•ด์„œ ์ €์žฅํ•œ๋‹ค.

 

๐Ÿ’ก Dynamic Programming

๊ฐ ๊ณ„๋‹จ์€ 1์นธ ๋˜๋Š” 2์นธ ์ „ ๊ณ„๋‹จ์—์„œ ์˜จ ๊ฒƒ์ด๋ฏ€๋กœ max(1์นธ ์ „ ์ตœ๋Œ“๊ฐ’, 2์นธ ์ „ ์ตœ๋Œ“๊ฐ’) + ํ˜„์žฌ ๊ณ„๋‹จ ์ ์ˆ˜๋กœ ์‹์„ ์„ธ์šธ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์—ฐ์† ์„ธ ์นธ์„ ๋ฐŸ์œผ๋ฉด ์•ˆ ๋˜๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•œ๋‹ค.

์ด ์กฐ๊ฑด์„ ๊ณ ๋ คํ•ด์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

  • 2์นธ ์ „ ์ตœ๋Œ“๊ฐ’ ์ด์šฉ: ์—ฐ์† ์„ธ ์นธ ์•ˆ ๋ฐŸ์Œ
  • 1์นธ ์ „ ๊ฐ’ ์ด์šฉ: 3์นธ ์ „ →1์นธ ์ „์„ ๋ฐŸ์€ ๊ฒฝ์šฐ๋Š” ์—ฐ์† ์„ธ ์นธ ์•ˆ ๋ฐŸ์Œ

max(2์นธ ์ „ ์ตœ๋Œ“๊ฐ’, 1์นธ ์ „ ๊ฐ’ + 3์นธ ์ „ ์ตœ๋Œ“๊ฐ’) + ํ˜„์žฌ ๊ณ„๋‹จ ์ ์ˆ˜๋กœ ์‹์„ ์„ธ์šธ ์ˆ˜ ์žˆ๋‹ค.

 

์ฝ”๋“œ

#include <iostream>
#include <vector>

using namespace std;

int maxScore(int n, vector<int> &score)
{
	vector<int> dp(n + 1, 0);

	dp[1] = score[1];
	if (n > 1)
		dp[2] = score[1] + score[2];

	for (int i = 3; i <= n; i++)
		dp[i] = max(dp[i - 2], dp[i - 3] + score[i - 1]) + score[i];

	return dp[n];
}

int main()

{
	int n;
	vector<int> score;

	cin >> n;
	score.assign(n + 1, 0);

	for(int i= 1; i <= n; i++)
		cin >> score[i];
	
	cout << maxScore(n, score);
    
	return 0;
}

 

'๐Ÿ’ญ Problem Solving > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ][C++] ๋ฐฑ์ค€ 1303๋ฒˆ: ์ „์Ÿ - ์ „ํˆฌ  (0) 2025.04.23
[BOJ][C++] ๋ฐฑ์ค€ 1890๋ฒˆ: ์ ํ”„  (0) 2025.04.23
[BOJ][C++] ๋ฐฑ์ค€ 1260๋ฒˆ: DFS์™€ BFS  (0) 2025.04.23
[BOJ][C++] ๋ฐฑ์ค€ 2667๋ฒˆ: ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ  (0) 2024.11.11
[BOJ][C++] ๋ฐฑ์ค€ 3085๋ฒˆ: ์‚ฌํƒ• ๊ฒŒ์ž„  (0) 2024.10.30
'๐Ÿ’ญ Problem Solving/C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BOJ][C++] ๋ฐฑ์ค€ 1303๋ฒˆ: ์ „์Ÿ - ์ „ํˆฌ
  • [BOJ][C++] ๋ฐฑ์ค€ 1890๋ฒˆ: ์ ํ”„
  • [BOJ][C++] ๋ฐฑ์ค€ 1260๋ฒˆ: DFS์™€ BFS
  • [BOJ][C++] ๋ฐฑ์ค€ 2667๋ฒˆ: ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ
0=2.
0=2.
  • 0=2.
    0=2
    0=2.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (66) N
      • ๐Ÿ“‚ Project (2)
        • Paint the City (2)
      • ๐Ÿ’ญ Problem Solving (29) N
        • C++ (28)
        • Java (1) N
      • ๐Ÿ“ Study (1)
        • React (1)
      • ๐Ÿ’ป CS (2)
        • Dev Book ๐Ÿ“˜ (2)
      • ๐Ÿƒ‍โ™€๏ธ Activities (32)
        • Web Front-End Basic Study (6)
        • 42 Cursus (26)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    HTML
    ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    BFS
    CS
    swea
    42๊ฒฝ์‚ฐ
    ๊ตฌํ˜„
    VR
    ๋ธŒ๋ฃจํŠธํฌ์Šค
    CSS
    dynamic programming
    ๋งต
    ๋ฐฑ์ค€
    C
    dfs
    La Piscine
    ๋ฐฑํŠธ๋ž˜ํ‚น
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    github
    makefile
    react
    unity
    .h
    ์‹œ๋ฎฌ๋ ˆ์ด์…˜
    JavaScript
    knapsack
    ์ •๋ ฌ
    git
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
0=2.
[BOJ][C++] ๋ฐฑ์ค€ 2579๋ฒˆ: ๊ณ„๋‹จ์˜ค๋ฅด๊ธฐ
์ƒ๋‹จ์œผ๋กœ

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