{"componentChunkName":"component---src-templates-blog-post-js","path":"/Algorithm/BOJ-11060-Python/","result":{"data":{"site":{"siteMetadata":{"title":"hyesungoh","author":"hyesungoh","siteUrl":"https://www.hyesungoh.xyz","comment":{"disqusShortName":"","utterances":"hyesungoh/blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"aacadb5e-359d-5d1e-a70f-2c60fbc13098","excerpt":"n개의 정수로 이루어진 수열을 입력받는다. i번째 인덱스의 값을 A라고 했을 때 i ~ i+A까지 이동할 수 있다고 한다. 인덱스 0부터 시작해서 n까지 가는 최소 이동횟수를 출력하며 인덱스 n까지 갈 수 없을 때는 -1을 출력하는 문제. n+1의 수로 만들어진 새로운 배열을 생성하며 0부터 i까지 반복을 수행한다. 그 안에 i부터 i + li까지 반복을 하며 dpj에 저장된 값과 현재 dpi + 1 값과 비교하여 작은 수를 저장한다. 반복문이 종료될 시 마지막에 저장된 값이 n +…","html":"<p>n개의 정수로 이루어진 수열을 입력받는다. i번째 인덱스의 값을 A라고 했을 때 i ~ i+A까지 이동할 수 있다고 한다. 인덱스 0부터 시작해서 n까지 가는 최소 이동횟수를 출력하며 인덱스 n까지 갈 수 없을 때는 -1을 출력하는 문제. n+1의 수로 만들어진 새로운 배열을 생성하며 0부터 i까지 반복을 수행한다. 그 안에 i부터 i + l[i]까지 반복을 하며 dp[j]에 저장된 값과 현재 dp[i] + 1 값과 비교하여 작은 수를 저장한다. 반복문이 종료될 시 마지막에 저장된 값이 n + 1 (절대 나올 수 없는 수이기 때문에)일 시 -1을, 아닐 시 마지막에 저장된 값을 출력하여 풀었다.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">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>\nl <span class=\"token operator\">=</span> <span class=\"token builtin\">list</span><span class=\"token punctuation\">(</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><span class=\"token punctuation\">)</span>\ndp <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 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>\ndp<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0</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>n<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 punctuation\">,</span> i <span class=\"token operator\">+</span> l<span class=\"token punctuation\">[</span>i<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> j <span class=\"token operator\">&lt;</span> n<span class=\"token punctuation\">:</span>\n            dp<span class=\"token punctuation\">[</span>j<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token builtin\">min</span><span class=\"token punctuation\">(</span>dp<span class=\"token punctuation\">[</span>j<span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span> dp<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"-1\"</span> <span class=\"token keyword\">if</span> dp<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> n<span class=\"token operator\">+</span><span class=\"token number\">1</span> <span class=\"token keyword\">else</span> dp<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></code></pre></div>","frontmatter":{"title":"BOJ-11060 - Python","date":"January 07, 2021"}}},"pageContext":{"slug":"/Algorithm/BOJ-11060-Python/","previous":{"fields":{"slug":"/Algorithm/BOJ-1725-Python/"},"frontmatter":{"title":"BOJ-1725 - Python","category":"Algorithm","draft":false}},"next":{"fields":{"slug":"/Algorithm/BOJ-5676-Python/"},"frontmatter":{"title":"BOJ-5676 - Python","category":"Algorithm","draft":false}}}},"staticQueryHashes":["3128451518","3290666882"]}