{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-1018-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"25502d2c-9fc5-529d-89db-fed8c425a22e","excerpt":"y만큼 x 크기의 “W”, “B”로 이루어진 문자열들을 입력받는다. 그 후 해당 문자열들을 8, 8 크기로 체스판처럼 만들 때 수정해야할 칸의 최솟값을 출력하는 문제. 0부터 y-7, x-7까지 반복문을 수행하며 시작점과 끝점을 함수의 매개변수로 사용하였다. 함수는 시작점부터 끝점까지 반복문을 수행하며 의 수식을 이용하여 임의의 “W”, “B”를 판단하였으며 두가지 경우에 대하여 문자열이 다를 시 정수형 변수를 증가하여 해당 값을 계산하여 풀었다.","html":"<p>y만큼 x 크기의 “W”, “B”로 이루어진 문자열들을 입력받는다. 그 후 해당 문자열들을 8, 8 크기로 체스판처럼 만들 때 수정해야할 칸의 최솟값을 출력하는 문제. 0부터 y-7, x-7까지 반복문을 수행하며 시작점과 끝점을 함수의 매개변수로 사용하였다. 함수는 시작점부터 끝점까지 반복문을 수행하며 <code class=\"language-(i + j) \"> 2</code>의 수식을 이용하여 임의의 “W”, “B”를 판단하였으며 두가지 경우에 대하여 문자열이 다를 시 정수형 변수를 증가하여 해당 값을 계산하여 풀었다.</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\ny<span class=\"token punctuation\">,</span> x <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>\nboard <span class=\"token operator\">=</span><span class=\"token punctuation\">[</span><span class=\"token string\">\"\"</span> <span class=\"token keyword\">for</span> _ <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>y<span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\nans <span class=\"token operator\">=</span> y <span class=\"token operator\">*</span> x\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>y<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    board<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">def</span> <span class=\"token function\">check_diff</span><span class=\"token punctuation\">(</span>sy<span class=\"token punctuation\">,</span> ey<span class=\"token punctuation\">,</span> sx<span class=\"token punctuation\">,</span> ex<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">global</span> ans\n    diff_white <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>y<span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\n    diff_black <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>y<span class=\"token punctuation\">)</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>sy<span class=\"token punctuation\">,</span> ey<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        cnt_white <span class=\"token operator\">=</span> <span class=\"token number\">0</span>\n        cnt_black <span class=\"token operator\">=</span> <span class=\"token number\">0</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>sx<span class=\"token punctuation\">,</span> ex<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n            <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>i <span class=\"token operator\">+</span> j<span class=\"token punctuation\">)</span> <span class=\"token operator\">%</span> <span class=\"token number\">2</span> <span class=\"token operator\">==</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n                <span class=\"token keyword\">if</span> board<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>j<span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token string\">\"W\"</span><span class=\"token punctuation\">:</span>\n                    cnt_black <span class=\"token operator\">+=</span> <span class=\"token number\">1</span>\n                <span class=\"token keyword\">else</span><span class=\"token punctuation\">:</span>\n                    cnt_white <span class=\"token operator\">+=</span> <span class=\"token number\">1</span>\n            <span class=\"token keyword\">else</span><span class=\"token punctuation\">:</span>\n                <span class=\"token keyword\">if</span> board<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>j<span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token string\">\"B\"</span><span class=\"token punctuation\">:</span>\n                    cnt_black <span class=\"token operator\">+=</span> <span class=\"token number\">1</span>\n                <span class=\"token keyword\">else</span><span class=\"token punctuation\">:</span>\n                    cnt_white <span class=\"token operator\">+=</span> <span class=\"token number\">1</span>\n\n        diff_black<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> cnt_black\n        diff_white<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> cnt_white\n\n    ans <span class=\"token operator\">=</span> <span class=\"token builtin\">min</span><span class=\"token punctuation\">(</span>ans<span class=\"token punctuation\">,</span> <span class=\"token builtin\">sum</span><span class=\"token punctuation\">(</span>diff_black<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token builtin\">sum</span><span class=\"token punctuation\">(</span>diff_white<span class=\"token punctuation\">)</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\">0</span><span class=\"token punctuation\">,</span> y<span class=\"token operator\">-</span><span class=\"token number\">7</span><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><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> x<span class=\"token operator\">-</span><span class=\"token number\">7</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        check_diff<span class=\"token punctuation\">(</span>i<span class=\"token punctuation\">,</span> i<span class=\"token operator\">+</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span> j<span class=\"token punctuation\">,</span> j<span class=\"token operator\">+</span><span class=\"token number\">8</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>ans<span class=\"token punctuation\">)</span></code></pre></div>","frontmatter":{"title":"BOJ-1018 - Python","date":"January 02, 2021"}}},"pageContext":{"slug":"/Algorithm/BOJ-1018-Python/","previous":{"fields":{"slug":"/Algorithm/BOJ-1389-Python/"},"frontmatter":{"title":"BOJ-1389 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-2042-Python/"},"frontmatter":{"title":"BOJ-2042 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}