{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-6588-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"41a3c7ee-c14c-537a-8df0-ba04903a233e","excerpt":"위 문제와 동일한 골드바흐 파티션을 출력하는 문제. 다른 점은 n2 - n1이 제일 큰 조합을 출력하는 것과 골드바흐 파티션이 존재하지 않는 예외를 처리하는 것이다. 골드바흐 파티션을 찾는 즉시 반환하는 함수를 만들어 사용하였으며 반복문이 끝날 시 존재하지 않을 때 출력할 문장을 반환하여 풀었다.","html":"<p>위 문제와 동일한 골드바흐 파티션을 출력하는 문제. 다른 점은 n2 - n1이 제일 큰 조합을 출력하는 것과 골드바흐 파티션이 존재하지 않는 예외를 처리하는 것이다. 골드바흐 파티션을 찾는 즉시 반환하는 함수를 만들어 사용하였으며 반복문이 끝날 시 존재하지 않을 때 출력할 문장을 반환하여 풀었다.</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\n<span class=\"token keyword\">def</span> <span class=\"token function\">get_prime</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    sieve <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token boolean\">True</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>\n    sieve<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token boolean\">False</span>\n    mn <span class=\"token operator\">=</span> <span class=\"token builtin\">int</span><span class=\"token punctuation\">(</span>n <span class=\"token operator\">**</span> <span class=\"token number\">0.5</span><span class=\"token punctuation\">)</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><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> mn<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> sieve<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><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>i<span class=\"token operator\">+</span>i<span class=\"token punctuation\">,</span> n<span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> i<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n                sieve<span class=\"token punctuation\">[</span>j<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token boolean\">False</span>\n\n    <span class=\"token keyword\">return</span> sieve\n\n<span class=\"token keyword\">def</span> <span class=\"token function\">goldbach</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    n1<span class=\"token punctuation\">,</span> n2 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0</span>\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><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">(</span>n <span class=\"token operator\">//</span> <span class=\"token number\">2</span><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 keyword\">if</span> prime<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token keyword\">and</span> prime<span class=\"token punctuation\">[</span>n<span class=\"token operator\">-</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">:</span>\n            n1<span class=\"token punctuation\">,</span> n2 <span class=\"token operator\">=</span> i<span class=\"token punctuation\">,</span> n<span class=\"token operator\">-</span>i\n            <span class=\"token keyword\">return</span> <span class=\"token string\">\"%d = %d + %d\"</span> <span class=\"token operator\">%</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">,</span> n1<span class=\"token punctuation\">,</span> n2<span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">return</span> <span class=\"token string\">\"Goldbach's conjecture is wrong.\"</span>\n\nl <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n<span class=\"token keyword\">while</span> <span class=\"token boolean\">True</span><span class=\"token punctuation\">:</span>\n    n <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>\n    <span class=\"token keyword\">if</span> n <span class=\"token operator\">==</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">break</span>\n    l<span class=\"token punctuation\">.</span>append<span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span>\n\nprime <span class=\"token operator\">=</span> get_prime<span class=\"token punctuation\">(</span><span class=\"token builtin\">max</span><span class=\"token punctuation\">(</span>l<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">for</span> n <span class=\"token keyword\">in</span> l<span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>goldbach<span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div>","frontmatter":{"title":"BOJ-6588 - Python","date":"December 22, 2020"}}},"pageContext":{"slug":"/Algorithm/BOJ-6588-Python/","previous":{"fields":{"slug":"/Algorithm/BOJ-9020-Python/"},"frontmatter":{"title":"BOJ-9020 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-2960-Python/"},"frontmatter":{"title":"BOJ-2960 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}