{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-15719-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"624a4159-7118-5c7b-8d89-07e4200ad2af","excerpt":"n과 1 ~ n-1까지 이루어진 수열을 입력받는 다. 수열에는 중복된 수가 한 개 존재하며, 그 것이 문제의 정답이다. 첫 풀이는 단순히 수열을 기준으로 반복문을 수행하고 dictionary에 key에 수열의 수를 넣어 이미 존재하는 수일 때 break하여 그 수를 출력하는 것으로 풀이를 하였으나 백준 체점 기준으로 메모리 초과 결과가 나와 검색해보니 sys.stdin.read()를 사용해야한다 … 해서 사용해봤으나 EOF를 따로 입력해야하는 read…","html":"<p>n과 1 ~ n-1까지 이루어진 수열을 입력받는 다. 수열에는 중복된 수가 한 개 존재하며, 그 것이 문제의 정답이다. 첫 풀이는 단순히 수열을 기준으로 반복문을 수행하고 dictionary에 key에 수열의 수를 넣어 이미 존재하는 수일 때 break하여 그 수를 출력하는 것으로 풀이를 하였으나 백준 체점 기준으로 메모리 초과 결과가 나와 검색해보니 sys.stdin.read()를 사용해야한다 … 해서 사용해봤으나 EOF를 따로 입력해야하는 read() 특성상 마음대로 구현이 되지 않아 이 부분은 다른 분 풀이를 참고하여 read() 함수를 구현했다.read()를 참고하며 본 방법인데 중복된 문자는 1개, 1 ~ n-1까지의 수로 이루어진 수열이라는 특징을 이용해 <strong>1 ~ n-1의 총 합(n*(n-1)//2)에서 수열에 존재하는 모든 수를 뺀 값에 -를 붙이면</strong>+ 정답이 나오게 된다.. 역시 배울 게 남아도 너무 많이 남았다고 생각한다.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token comment\"># d = dict(); input()</span>\n<span class=\"token comment\"># for i in input().split():</span>\n<span class=\"token comment\">#     if i not in d.keys():</span>\n<span class=\"token comment\">#         d[i] = 1</span>\n<span class=\"token comment\">#     else:</span>\n<span class=\"token comment\">#         print(i)</span>\n<span class=\"token comment\">#         break</span>\n\n<span class=\"token keyword\">from</span> sys <span class=\"token keyword\">import</span> stdin\n<span class=\"token keyword\">def</span> <span class=\"token function\">read</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">while</span> <span class=\"token number\">1</span><span class=\"token punctuation\">:</span>\n        s <span class=\"token operator\">=</span> stdin<span class=\"token punctuation\">.</span>read<span class=\"token punctuation\">(</span><span class=\"token number\">100000</span><span class=\"token punctuation\">)</span>\n        <span class=\"token keyword\">if</span> <span class=\"token keyword\">not</span> s<span class=\"token punctuation\">:</span> <span class=\"token keyword\">return</span>\n        <span class=\"token keyword\">while</span> s<span class=\"token punctuation\">[</span><span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">!=</span> <span class=\"token string\">' '</span><span class=\"token punctuation\">:</span>\n            extra <span class=\"token operator\">=</span> stdin<span class=\"token punctuation\">.</span>read<span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span>\n            <span class=\"token keyword\">if</span> <span class=\"token keyword\">not</span> extra<span class=\"token punctuation\">:</span> <span class=\"token keyword\">break</span>\n            s<span class=\"token operator\">+=</span> extra\n        <span class=\"token keyword\">yield</span> <span class=\"token keyword\">from</span> <span class=\"token builtin\">map</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">int</span><span class=\"token punctuation\">,</span> s<span class=\"token punctuation\">.</span>split<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</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>\nans <span class=\"token operator\">=</span> n <span class=\"token operator\">*</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 operator\">//</span> <span class=\"token number\">2</span> <span class=\"token operator\">-</span> <span class=\"token builtin\">sum</span><span class=\"token punctuation\">(</span>read<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 operator\">-</span>ans<span class=\"token punctuation\">)</span></code></pre></div>","frontmatter":{"title":"BOJ-15719 - Python","date":"July 02, 2020"}}},"pageContext":{"slug":"/Algorithm/BOJ-15719-Python/","previous":{"fields":{"slug":"/Algorithm/BOJ-10828-Python/"},"frontmatter":{"title":"BOJ-10828 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-1436-Python/"},"frontmatter":{"title":"BOJ-1436 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}