{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-2869-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"2b8732a9-ab97-5273-a788-45dc640d97a9","excerpt":"v라는 높이에 있는 곳을 오르려는 달팽이는 낮에 a만큼 올라가며 밤에는 b만큼 미끌어진다고 한다. v에 도달했을 때는 미끄러지지 않을 때 며칠째에 도착하게 되는 지를 출력하는 문제. 첫번째 풀이는 반복문을 수행하며 v <= (a-b) * t + a라는 수식될 때까지 t를 1씩 더하며 풀었으나 당연히 시간초과를 만났다. 두번째 풀이는 t, (v-b) // (a-b)을 두고 (v-b) % (a-b)가 0일 때, t를 출력하고 아닐 시 t + 1을 출력하여 풀었다. a가 v…","html":"<p>v라는 높이에 있는 곳을 오르려는 달팽이는 낮에 a만큼 올라가며 밤에는 b만큼 미끌어진다고 한다. v에 도달했을 때는 미끄러지지 않을 때 며칠째에 도착하게 되는 지를 출력하는 문제. 첫번째 풀이는 반복문을 수행하며 v &#x3C;= (a-b) * t + a라는 수식될 때까지 t를 1씩 더하며 풀었으나 당연히 시간초과를 만났다. 두번째 풀이는 t, (v-b) // (a-b)을 두고 (v-b) % (a-b)가 0일 때, t를 출력하고 아닐 시 t + 1을 출력하여 풀었다. a가 v보다 클 때를 위해 위처럼 풀었으며 다른 사람의 풀이는 (v-b-1)//(a-b)+1를 출력하여 단순히 푼 것을 배웠다. 수학적 사고능력의 부족함을 뼈저리 느꼈다.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token comment\"># a,b,v = map(int, input().split())</span>\n<span class=\"token comment\"># t = 0</span>\n<span class=\"token comment\"># while 1:</span>\n<span class=\"token comment\">#     t += 1</span>\n<span class=\"token comment\">#     if v &lt;= (a-b)*t + a:</span>\n<span class=\"token comment\">#         break</span>\n<span class=\"token comment\">#</span>\n<span class=\"token comment\"># print(t+1)</span>\na<span class=\"token punctuation\">,</span>b<span class=\"token punctuation\">,</span>v <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>\nt <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>v<span class=\"token operator\">-</span>b<span class=\"token punctuation\">)</span> <span class=\"token operator\">//</span> <span class=\"token punctuation\">(</span>a<span class=\"token operator\">-</span>b<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>t <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>v<span class=\"token operator\">-</span>b<span class=\"token punctuation\">)</span> <span class=\"token operator\">%</span> <span class=\"token punctuation\">(</span>a<span class=\"token operator\">-</span>b<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">0</span> <span class=\"token keyword\">else</span> t<span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span>\n<span class=\"token comment\"># 4 1 5 = 2</span>\n<span class=\"token comment\"># 5-1 % 4-1 = 1</span>\n<span class=\"token comment\"># 5-1 // 4-1 = 1</span>\n\n<span class=\"token comment\"># 2 1 5 = 4</span>\n<span class=\"token comment\"># 5-1 % 2-1 = 0</span>\n<span class=\"token comment\"># 5-1 // 2-1 = 4</span>\n\na<span class=\"token punctuation\">,</span>b<span class=\"token punctuation\">,</span>v<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<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>v<span class=\"token operator\">-</span>b<span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token operator\">//</span><span class=\"token punctuation\">(</span>a<span class=\"token operator\">-</span>b<span class=\"token punctuation\">)</span><span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span>\n<span class=\"token comment\"># 4 1 5 = 2</span>\n<span class=\"token comment\"># (5 - 1 - 1) // (4 - 1) + 1 = 2</span>\n\n<span class=\"token comment\"># 2 1 5 = 4</span>\n<span class=\"token comment\"># (5 - 1 - 1) // (2 - 1) + 1 = 4</span></code></pre></div>","frontmatter":{"title":"BOJ-2869 - Python","date":"July 27, 2020"}}},"pageContext":{"slug":"/Algorithm/BOJ-2869-Python/","previous":{"fields":{"slug":"/Algorithm/BOJ-16430-Python/"},"frontmatter":{"title":"BOJ-16430 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-1712-Python/"},"frontmatter":{"title":"BOJ-1712 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}