Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 2636
- 2167
- boj 2635
- 백준 2470
- 백준 2178
- 백준 2636
- boj 2108
- 10800
- 백준 2206
- boj 2661
- 백준 1697
- 백준 19238
- 백준 1503
- boj 1697
- boj 1503
- boj 2167
- boj 2470
- 백준 2635
- boj 10800
- boj 2636
- boj 2206
- boj 1806
- 백준 1806
- boj 2667
- 백준 2661
- 백준 2108
- boj 19238
- 백준 10800
- 백준 2167
- boj 2178
Archives
- Today
- Total
말랑말랑한 개발자 이야기
[백준 19947번] 투자의 귀재 배주형 본문
[백준 19947번] 투자의 귀재 배주형
문제
2020년에 학교로 복학한 주형이는 월세를 마련하기 위해서 군 적금을 깨고 복리 투자를 하려고 한다.
주형이가 하려는 투자에는 3가지 방법의 투자 방식이 있다.
- 1년마다 5%의 이율을 얻는 투자 (A)
- 3년마다 20%의 이율을 얻는 투자 (B)
- 5년마다 35%의 이율을 얻는 투자 (C)
투자를 할 때에는 다음과 같은 주의점이 있다.
- 투자의 기한(1년, 3년, 5년)을 채우는 시점에 이율이 반영되며, 그 사이에는 돈이 늘어나지 않는다.
- 투자 방식은 매년 바꿀 수 있다.
- 매번 이율은 소수점 이하를 버림 해서 받는다.
예를 들어서, 지금 가진 돈이 11111원이면, A 방식이면 1년 후에 555원, B 방식이면 3년 후에 2,222원, C 방식이면 5년 후에 3,888원을 이자로 받을 수 있다. 만약 C 방식으로 투자했지만 4년이 지난 시점이라면 받을 수 있는 이자는 0원이다.
주형이의 초기 비용이 H원일 때, Y년이 지난 시점에 가장 많은 금액을 얻을 수 있는 투자 패턴을 분석하고 그 금액을 출력하자.
입력
첫째 줄에 초기 비용 H와 투자 기간 Y가 주어진다.
모든 입력은 정수로 주어진다.
출력
가장 많은 이득을 얻었을 때의 총 자산을 소수점을 모두 버리고 정수로 출력한다.
풀이
#include <iostream>
using namespace std;
int main() {
int H, Y;
cin >> H >> Y;
int dp[16] = {0,}; // dp[5]가 0년
dp[5] = H;
for(int i=6;i<=15;i++){
dp[i] = max(max(dp[i-1] * 1.05, dp[i-3] * 1.2), dp[i-5] * 1.35);
}
cout << dp[Y + 5];
return 0;
}
오늘자 첫번째 문제이다. 실버4짜리 쉬운 문제이다. Y의 범위가 10까지 밖에 안되기 때문에 그냥 모든 값을 구하려고 했지만 6년 같은 경우를 보면 5년+1년 -> 1.35*1.05 = 1.4175 이고 3년+3년 -> 1.2*1.2 = 1.44 로 3년 두번을 하는것이 이익이 더 컸다. 이런 생각하다보니 그냥 dp로 풀면되겠다 싶어서 dp로 풀었다.
index 0 부터하면 i-3, i-5에서 음수처리하기 귀찮으니 그냥 index 5를 0로 생각하고 풀면된다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준 17779번] 게리맨더링2 (0) | 2021.05.18 |
---|---|
[백준 5557번] 1학년 (0) | 2021.05.18 |
[백준 16174번] 점프왕 쩰리 (Large) (0) | 2021.05.17 |
[백준 14716번] 현수막 (0) | 2021.05.17 |
[백준 1713번] 후보 추천하기 (0) | 2021.05.17 |