Taene's
[DP] 백준-거스름돈 C++ 14916번 본문
https://www.acmicpc.net/problem/14916
14916번: 거스름돈
첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다.
www.acmicpc.net
#include <iostream>
using namespace std;
int dp[100001] = { 0,-1,1,-1,2,1, };
int n;
int main()
{
cin >> n;
for (int i = 6; i <= n; i++)
{
if (i % 2 == 0)
{
dp[i] = dp[i - 2] + 1;
}
else
{
dp[i] = dp[i - 2] + 1;
}
if (i % 5 == 0)
dp[i] = min(dp[i - 2] + 1, dp[i - 5] + 1);
}
cout << dp[n];
return 0;
}
소감: 처음으로 dp문제를 아무것도 안보고 내손으로 직접 점화식을 찾아서 푼 문제.. 지금까지 어렵게 생각하고 풀 시도조차 못했던 점화식 찾는 문제를..!! 비록 쉬운문제지만 드디어 첫 발을 내딛었다!!!!! 앞으로도 파이팅!!!!
'알고리즘 문제풀이 > DP' 카테고리의 다른 글
[DP] 백준-BABBA C++ 9625번 (0) | 2023.09.21 |
---|---|
[DP] 백준-돌 게임 C++ 9655 (0) | 2023.09.20 |
[DP] 백준-다리놓기 C++ 1010번 (0) | 2023.09.18 |
[DP] 백준-핸드폰번호 궁합 C++ 17202번 (0) | 2023.09.18 |
[DP] 백준-피보나치 수 2 C++ 2748번 (0) | 2023.09.15 |