{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-19947-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"df5ce1a7-4b0e-5c92-ba8d-27a0e924a4fa","excerpt":"h원과 투자기간 y가 주어진 후, 5% 1년, 20% 3년, 35% 5년의 이윤과 기간이 있는 투자 상품이 있다. 매번 이율은 소수점 이하를 버림해서 받으며 투자 방식은 매년 바꿀 수 있을 때, 가장 많은 이득을 얻었을 때의 총 자산을 소수점을 모두 버리고 정수로 출력하는 문제. 첫 풀이는 함수를 재귀적으로 사용하여 전역 변수와 값을 비교하여 풀었다. 두번째 풀이는 전역변수 사용이 아닌 재귀함수의 반환 값을 이용하여 비교, 출력하여 풀었다.","html":"<p>h원과 투자기간 y가 주어진 후, 5% 1년, 20% 3년, 35% 5년의 이윤과 기간이 있는 투자 상품이 있다. 매번 이율은 소수점 이하를 버림해서 받으며 투자 방식은 매년 바꿀 수 있을 때, 가장 많은 이득을 얻었을 때의 총 자산을 소수점을 모두 버리고 정수로 출력하는 문제. 첫 풀이는 함수를 재귀적으로 사용하여 전역 변수와 값을 비교하여 풀었다. 두번째 풀이는 전역변수 사용이 아닌 재귀함수의 반환 값을 이용하여 비교, 출력하여 풀었다.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token comment\"># 19947</span>\n<span class=\"token keyword\">def</span> <span class=\"token function\">investment</span><span class=\"token punctuation\">(</span>money<span class=\"token punctuation\">,</span> year<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">global</span> ans\n    <span class=\"token keyword\">if</span> year <span class=\"token operator\">==</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n        ans <span class=\"token operator\">=</span> <span class=\"token builtin\">max</span><span class=\"token punctuation\">(</span>ans<span class=\"token punctuation\">,</span> money<span class=\"token punctuation\">)</span>\n        <span class=\"token keyword\">return</span>\n\n    <span class=\"token keyword\">if</span> year <span class=\"token operator\">-</span> <span class=\"token number\">1</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n        interest <span class=\"token operator\">=</span> <span class=\"token builtin\">int</span><span class=\"token punctuation\">(</span>money <span class=\"token operator\">*</span> <span class=\"token number\">1.05</span><span class=\"token punctuation\">)</span>\n        investment<span class=\"token punctuation\">(</span>interest<span class=\"token punctuation\">,</span> year <span class=\"token operator\">-</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">if</span> year <span class=\"token operator\">-</span> <span class=\"token number\">3</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n        interest <span class=\"token operator\">=</span> <span class=\"token builtin\">int</span><span class=\"token punctuation\">(</span>money <span class=\"token operator\">*</span> <span class=\"token number\">1.2</span><span class=\"token punctuation\">)</span>\n        investment<span class=\"token punctuation\">(</span>interest<span class=\"token punctuation\">,</span> year <span class=\"token operator\">-</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">if</span> year <span class=\"token operator\">-</span> <span class=\"token number\">5</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n        interest <span class=\"token operator\">=</span> <span class=\"token builtin\">int</span><span class=\"token punctuation\">(</span>money <span class=\"token operator\">*</span> <span class=\"token number\">1.35</span><span class=\"token punctuation\">)</span>\n        investment<span class=\"token punctuation\">(</span>interest<span class=\"token punctuation\">,</span> year <span class=\"token operator\">-</span> <span class=\"token number\">5</span><span class=\"token punctuation\">)</span>\n\nh<span class=\"token punctuation\">,</span> y <span class=\"token operator\">=</span> <span class=\"token builtin\">map</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">int</span><span class=\"token punctuation\">,</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>split<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\nans <span class=\"token operator\">=</span> <span class=\"token number\">0</span>\ninvestment<span class=\"token punctuation\">(</span>h<span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>ans<span class=\"token punctuation\">)</span>\n\n\n<span class=\"token comment\"># def invest(money, year):</span>\n<span class=\"token comment\">#     ans = money</span>\n<span class=\"token comment\">#     if year >= 1:</span>\n<span class=\"token comment\">#         ans = max(ans, invest(int(money * 1.05), year-1))</span>\n<span class=\"token comment\">#     if year >= 3:</span>\n<span class=\"token comment\">#         ans = max(ans, invest(int(money * 1.2), year-3))</span>\n<span class=\"token comment\">#     if year >= 5:</span>\n<span class=\"token comment\">#         ans = max(ans, invest(int(money * 1.35), year-5))</span>\n<span class=\"token comment\">#     return ans</span>\n<span class=\"token comment\">#</span>\n<span class=\"token comment\"># h, y = map(int, input().split())</span>\n<span class=\"token comment\"># print(invest(h, y))</span>\n\n\n<span class=\"token comment\"># def e(h, y):</span>\n<span class=\"token comment\">#     m=h</span>\n<span class=\"token comment\">#     if y>=1: m=max(m,e(int(h*1.05),y-1))</span>\n<span class=\"token comment\">#     if y>=3: m=max(m,e(int(h*1.2),y-3))</span>\n<span class=\"token comment\">#     if y>=5: m=max(m,e(int(h*1.35),y-5))</span>\n<span class=\"token comment\">#     return m</span>\n<span class=\"token comment\"># h, y = map(int, input().split())</span>\n<span class=\"token comment\"># print(e(h,y))</span></code></pre></div>","frontmatter":{"title":"BOJ-19947 - Python","date":"January 13, 2021"}}},"pageContext":{"slug":"/Algorithm/BOJ-19947-Python/","previous":{"fields":{"slug":"/Algorithm/BOJ-14916-Python/"},"frontmatter":{"title":"BOJ-14916 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-17212-Python/"},"frontmatter":{"title":"BOJ-17212 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}