반응형
이 문제를 풀기 앞서 아래 문제를 먼저 풀어보는 것을 추천한다.
백준 C# - 11052
11052번을 풀었음을 전제로 풀이를 진행
01 Max를 Min으로 바뀌어서 제출
문제에서 최솟값을 구하니까 Max를 Min로 제출하면 되겠다 싶어서 바꿨더니 결과가 0으로만 나왔다.
p[i] = Math.Max(dp[i], dp[i - j] + p[j]);
02 기준값을 잡자
1씩 더해지는 경우를 기준으로 잡았다.
dp[i] = dp[i-1] + p[1];
코드 전문
using System;
namespace baek2
{
class Program
{
static void Main()
{
int num = int.Parse(Console.ReadLine());
string[] str = Console.ReadLine().Split();
int[] dp = new int[num + 2];
int[] p = new int[num + 2];
for(int i = 1; i<=str.Length;i++)
{
p[i] = int.Parse(str[i-1]);
}
for(int i = 1; i <= num ;i++)
{
dp[i] = dp[i-1] + p[1];
for(int j = 1; j<=i; j++)
{
dp[i] = Math.Min(dp[i - j] + p[j],dp[i]);
}
}
Console.Write(dp[num]);
}
}
}
반응형
'코딩테스트 준비 > 백준 C#' 카테고리의 다른 글
백준 C# - 10844 +)풀이 (0) | 2023.12.02 |
---|---|
백준 C# - 2193 +) 풀이 (0) | 2023.12.02 |
백준 C# - 11052 +) 풀이 (0) | 2023.11.30 |
백준 C# - 9095 +)풀이 (0) | 2023.11.30 |
백준C# - 11727 +) 풀이 (0) | 2023.11.30 |
댓글