{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-11055-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"5931f7e4-e909-509f-9501-f48fb3b15872","excerpt":"가장 큰 부분 수열 문제. 수열이 주어졌을 때 오름차 부분 수열의 최대합을 출력하는 문제. 첫 풀이는 탑다운 형식으로 최대 값을 저장하는 형식으로 풀었으나 2개 이상 띄워져 있는 부분 수열에는 적용하지 않는 문제가 있어 이중 반복문을 이용하여 풀었다. 0부터 i까지 반복문을 수행하며 수열의 i보다 j가 작을 때 dpi에 dpi, dpj + li의 값 중 큰 것을 할당하여 풀었다.","html":"<p>가장 큰 부분 수열 문제. 수열이 주어졌을 때 오름차 부분 수열의 최대합을 출력하는 문제. 첫 풀이는 탑다운 형식으로 최대 값을 저장하는 형식으로 풀었으나 2개 이상 띄워져 있는 부분 수열에는 적용하지 않는 문제가 있어 이중 반복문을 이용하여 풀었다. 0부터 i까지 반복문을 수행하며 수열의 i보다 j가 작을 때 dp[i]에 dp[i], dp[j] + l[i]의 값 중 큰 것을 할당하여 풀었다.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token comment\"># 11055</span>\n<span class=\"token comment\"># n = int(input())</span>\n<span class=\"token comment\"># l = list(map(int, input().split()))</span>\n<span class=\"token comment\"># dp = l + [0]</span>\n<span class=\"token comment\"># temp = 1001</span>\n<span class=\"token comment\">#</span>\n<span class=\"token comment\"># for i in range(n-1, -1, -1):</span>\n<span class=\"token comment\">#     if l[i] &lt; temp:</span>\n<span class=\"token comment\">#         temp = l[i]</span>\n<span class=\"token comment\">#         dp[i] = dp[i+1] + l[i]</span>\n<span class=\"token comment\">#</span>\n<span class=\"token comment\">#     if dp[i+1] &lt;= l[i]:</span>\n<span class=\"token comment\">#         temp = l[i]</span>\n<span class=\"token comment\">#         dp[i] = l[i]</span>\n<span class=\"token comment\">#</span>\n<span class=\"token comment\">#     dp[i] = max(dp[i], dp[i+1])</span>\n<span class=\"token comment\"># print(dp[0])</span>\n\nn <span class=\"token operator\">=</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>\nl <span class=\"token operator\">=</span> <span class=\"token builtin\">list</span><span class=\"token punctuation\">(</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><span class=\"token punctuation\">)</span>\ndp <span class=\"token operator\">=</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>\nm <span class=\"token operator\">=</span> <span class=\"token number\">0</span>\n\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    dp<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> l<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span>\n    <span class=\"token keyword\">for</span> j <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> i<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">if</span> l<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">></span> l<span class=\"token punctuation\">[</span>j<span class=\"token punctuation\">]</span><span class=\"token punctuation\">:</span>\n            dp<span class=\"token punctuation\">[</span>i<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>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span> dp<span class=\"token punctuation\">[</span>j<span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> l<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n    m <span class=\"token operator\">=</span> <span class=\"token builtin\">max</span><span class=\"token punctuation\">(</span>m<span class=\"token punctuation\">,</span> dp<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>m<span class=\"token punctuation\">)</span></code></pre></div>","frontmatter":{"title":"BOJ-11055 - Python","date":"December 09, 2020"}}},"pageContext":{"slug":"/Algorithm/BOJ-11055-Python/","previous":{"fields":{"slug":"/Algorithm/BOJ-1904-Python/"},"frontmatter":{"title":"BOJ-1904 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-7562-Python/"},"frontmatter":{"title":"BOJ-7562 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}