{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-17845-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"6066ffab-3727-5d89-8ebd-1e6a3c6a2de5","excerpt":"공부할 수 있는 시간, 공부할 수 있는 과목의 수가 주어진다. 그 이후에 과목별로 과목의 중요도, 필요한 공부시간이 주어질 때 최대가 되는 중요도를 출력하는 문제. 배낭 형식의 문제로, k에 대해서 모든 과목을, time에 대해서 모든 시간을 반복하였다. 담을 수 없을 때 저번 반복에서 계산한 동일 시간의 최대치를, 담을 수 있을 때 저번 반복에서 계산한 동일 시간의 최대치와, 현재 중요도 + 저번 물건의 반복 값에서의 시간 - 현재 과목의 시간을 뺀 최대값을 더하여 풀었다.","html":"<p>공부할 수 있는 시간, 공부할 수 있는 과목의 수가 주어진다. 그 이후에 과목별로 과목의 중요도, 필요한 공부시간이 주어질 때 최대가 되는 중요도를 출력하는 문제. 배낭 형식의 문제로, k에 대해서 모든 과목을, time에 대해서 모든 시간을 반복하였다. 담을 수 없을 때 저번 반복에서 계산한 동일 시간의 최대치를, 담을 수 있을 때 저번 반복에서 계산한 동일 시간의 최대치와, 현재 중요도 + 저번 물건의 반복 값에서의 시간 - 현재 과목의 시간을 뺀 최대값을 더하여 풀었다.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">import</span> sys\n<span class=\"token builtin\">input</span> <span class=\"token operator\">=</span> sys<span class=\"token punctuation\">.</span>stdin<span class=\"token punctuation\">.</span>readline\n\nN<span class=\"token punctuation\">,</span> K <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>\ndp <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">[</span><span class=\"token number\">0</span> <span class=\"token keyword\">for</span> _ <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>N<span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">for</span> _ <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>K<span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\nimpos <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\ntimes <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n<span class=\"token keyword\">for</span> _ <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>K<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    i<span class=\"token punctuation\">,</span> t <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>\n    impos<span class=\"token punctuation\">.</span>append<span class=\"token punctuation\">(</span>i<span class=\"token punctuation\">)</span>\n    times<span class=\"token punctuation\">.</span>append<span class=\"token punctuation\">(</span>t<span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">for</span> k <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>K<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n\n    now_impo <span class=\"token operator\">=</span> impos<span class=\"token punctuation\">[</span>k<span class=\"token punctuation\">]</span>\n    now_time <span class=\"token operator\">=</span> times<span class=\"token punctuation\">[</span>k<span class=\"token punctuation\">]</span>\n    <span class=\"token keyword\">for</span> time <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>N<span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">if</span> time <span class=\"token operator\">&lt;</span> now_time<span class=\"token punctuation\">:</span>\n            dp<span class=\"token punctuation\">[</span>k<span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>time<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> dp<span class=\"token punctuation\">[</span>k<span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>time<span class=\"token punctuation\">]</span>\n        <span class=\"token keyword\">else</span><span class=\"token punctuation\">:</span>\n            dp<span class=\"token punctuation\">[</span>k<span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>time<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token builtin\">max</span><span class=\"token punctuation\">(</span>dp<span class=\"token punctuation\">[</span>k<span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>time<span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span> dp<span class=\"token punctuation\">[</span>k<span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>time<span class=\"token operator\">-</span>now_time<span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> now_impo<span class=\"token punctuation\">)</span>\n\n\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>dp<span class=\"token punctuation\">[</span><span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>N<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span></code></pre></div>","frontmatter":{"title":"BOJ-17845 - Python","date":"March 07, 2021"}}},"pageContext":{"slug":"/Algorithm/BOJ-17845-Python/","previous":{"fields":{"slug":"/Algorithm/프로그래머스-단어변환-Python/"},"frontmatter":{"title":"프로그래머스-단어변환 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-1766-Python/"},"frontmatter":{"title":"BOJ-1766 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}