반응형
19947번: 투자의 귀재 배주형
2020년에 학교로 복학한 주형이는 월세를 마련하기 위해서 군 적금을 깨고 복리 투자를 하려고 한다. 주형이가 하려는 투자에는 3가지 방법의 투자 방식이 있다. 1년마다 5%의 이율을 얻는 투자 (
www.acmicpc.net
코드
h,y = map(int,input().split())
dp = [0 for _ in range(y+1)]
dp[0] = h
for i in range(1,y+1):
if i >= 5:
dp[i] = int(max(dp[i-1]*1.05, dp[i-3]*1.2, dp[i-5]*1.35))
elif i >= 3:
dp[i] = int(max(dp[i-1]*1.05, dp[i-3]*1.2))
else:
dp[i] = int(dp[i-1]*1.05)
print(dp[y])
설명
dynamic programming을 이용해서 해당 년도에 얻을 수 있는 최댓값을 계속 추가해나갔다.
i가 5 이상이면 (1년 전 최댓값 * 1.05), (3년 전 최댓값 * 1.2), (5년 전 최댓값 * 1.35) 중 최댓값을 dp[i]로 정해준다.
i가 3이상 5 미만이면 (1년 전 최댓값 * 1.05), (3년 전 최댓값 * 1.2) 중 최댓값을 dp[i]로 정해주고
3보다 작으면 (1년 전 최댓값 * 1.05)를 dp[i] 값으로 정해준다.
반응형
'알고리즘 > dynamic programming' 카테고리의 다른 글
[백준][Python] 11048번 이동하기 (0) | 2022.12.06 |
---|---|
[백준][Python] 11057번 오르막 수 (0) | 2022.12.05 |
[백준][Python] 10844번 쉬운 계단 수 (0) | 2022.06.20 |
[백준][Python] 11660번 구간 합 구하기 5 (0) | 2022.06.20 |
[백준][Python] 2294번 동전 2 (0) | 2022.05.24 |
댓글