{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-2630-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"b3433d57-816d-512f-84ac-0f4ccd0f9938","excerpt":"정수 n을 입력받은 후 n * n 크기의 0과 1로 이루어진 배열을 입력받는다. 그래프에서 0은 흰색, 1은 파란색을 뜻한다. 그래프 안에서 색이 동일한 정사각형의 갯수를 출력하는 문제이며, 동일한 색이 아닐 때 가로와 세로 중간을 잘라 확인을 반복한다. 동일한 색으로 이루어져 있는지 확인하는 함수 isunity의 매개변수로 x와 y의 시작지점과 정사각형의 크기를 뜻하는 size를 입력받는다. 그 후 색을 확인하며 반복문 수행중에 색과 동일하지 않을 때 1, 2, 3, 4분면 각각 size//…","html":"<p>정수 n을 입력받은 후 n * n 크기의 0과 1로 이루어진 배열을 입력받는다. 그래프에서 0은 흰색, 1은 파란색을 뜻한다. 그래프 안에서 색이 동일한 정사각형의 갯수를 출력하는 문제이며, 동일한 색이 아닐 때 가로와 세로 중간을 잘라 확인을 반복한다. 동일한 색으로 이루어져 있는지 확인하는 함수 isunity의 매개변수로 x와 y의 시작지점과 정사각형의 크기를 뜻하는 size를 입력받는다. 그 후 색을 확인하며 반복문 수행중에 색과 동일하지 않을 때 1, 2, 3, 4분면 각각 size//2를 이용하여 함수를 재귀하여 사용하여 풀었다.</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 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>\ngraph <span class=\"token operator\">=</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 keyword\">for</span> _ <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>\ncount <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">]</span>\n\n<span class=\"token keyword\">def</span> <span class=\"token function\">isunity</span><span class=\"token punctuation\">(</span>x<span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">,</span> size<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">global</span> count\n    color <span class=\"token operator\">=</span> graph<span class=\"token punctuation\">[</span>x<span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>y<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>x<span class=\"token punctuation\">,</span> x <span class=\"token operator\">+</span> size<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>y<span class=\"token punctuation\">,</span> y <span class=\"token operator\">+</span> size<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n            <span class=\"token keyword\">if</span> graph<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> color<span class=\"token punctuation\">:</span>\n                isunity<span class=\"token punctuation\">(</span>x<span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">,</span> size<span class=\"token operator\">//</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span>\n                isunity<span class=\"token punctuation\">(</span>x<span class=\"token punctuation\">,</span> y <span class=\"token operator\">+</span> size<span class=\"token operator\">//</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> size<span class=\"token operator\">//</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span>\n                isunity<span class=\"token punctuation\">(</span>x <span class=\"token operator\">+</span> size<span class=\"token operator\">//</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">,</span> size<span class=\"token operator\">//</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span>\n                isunity<span class=\"token punctuation\">(</span>x <span class=\"token operator\">+</span> size<span class=\"token operator\">//</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> y <span class=\"token operator\">+</span> size<span class=\"token operator\">//</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> size<span class=\"token operator\">//</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span>\n                <span class=\"token keyword\">return</span>\n    count<span class=\"token punctuation\">[</span><span class=\"token builtin\">int</span><span class=\"token punctuation\">(</span>color<span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+=</span> <span class=\"token number\">1</span>\n\nisunity<span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> n<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">[</span><span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>i<span class=\"token punctuation\">)</span> <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> count<span class=\"token punctuation\">]</span></code></pre></div>","frontmatter":{"title":"BOJ-2630 - Python","date":"September 29, 2020"}}},"pageContext":{"slug":"/Algorithm/BOJ-2630-Python/","previous":{"fields":{"slug":"/Algorithm/BOJ-7662-Python/"},"frontmatter":{"title":"BOJ-7662 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-11399-Python/"},"frontmatter":{"title":"BOJ-11399 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}