코드
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
double n, a[11];
int y;
int main() {
cin >> n >> y;
a[0] = n;
for(int i = 1; i < y + 1; i++) {
a[i] = floor(a[i - 1] * 1.05);
if(i >= 3) {
a[i] = max(a[i], floor(a[i - 3] * 1.2));
}
if(i >= 5) {
a[i] = max(a[i], floor(a[i - 5]*1.35));
}
}
cout << a[y] << '\n';
return 0;
}
초기비용을 입력하고, 증가시키면서 1년의 이자를 얻은 값을 넣는다. 그리고 3년과 5년의 경우에, 해당 값과 비교해서 크면 갱신해준다. 그럼 그 다음 년도에 갱신된 값으로 이자를 구할 것이기 때문이다. dp는 언제쯤 익숙해질까. 익숙해질만 한데도 항상 새롭다.
'백준' 카테고리의 다른 글
[백준] 1788번 피보나치 수의 확장 C++ 코드 (0) | 2024.07.28 |
---|---|
[백준] 14494번 다이나믹이 뭐예요? C++ 코드 (0) | 2024.07.28 |
[백준] 13699번 점화식 C++ 코드 (0) | 2024.07.27 |
[백준] 9656번 돌 게임 2 C++ 코드 (0) | 2024.07.27 |
[백준] 15489번 파스칼 삼각형 C++ 코드 (0) | 2024.07.27 |