{"data":{"site":{"siteMetadata":{"title":"lastrites2018","author":"lastrites2018","siteUrl":"https://lastrites2018.netlify.com","comment":{"disqusShortName":"","utterances":"lastrites2018/gatsby-first-blog"},"sponsor":{"buyMeACoffeeId":""}}},"markdownRemark":{"id":"92b44215-2e3b-5f36-b0ff-3f0fca61f8a0","excerpt":"메모이제이션 구현 실패 2.","html":"<ol>\n<li>메모이제이션 구현 실패</li>\n</ol>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">Write a <span class=\"token keyword\">function</span> called <span class=\"token string\">\"computeSummationToN\"</span><span class=\"token punctuation\">.</span>\n\nGiven a number<span class=\"token punctuation\">,</span> <span class=\"token string\">\"computeSummationToN\"</span> returns the sum <span class=\"token keyword\">of</span> sequential numbers leading up to the given number<span class=\"token punctuation\">,</span> beginning at <span class=\"token number\">0.</span>\n\nNotes<span class=\"token punctuation\">:</span>\n<span class=\"token operator\">*</span> If n <span class=\"token operator\">=</span> <span class=\"token number\">4</span><span class=\"token punctuation\">,</span> it should calculate the sum <span class=\"token keyword\">of</span> <span class=\"token number\">1</span> <span class=\"token operator\">+</span> <span class=\"token number\">2</span> <span class=\"token operator\">+</span> <span class=\"token number\">3</span> <span class=\"token operator\">+</span> <span class=\"token number\">4</span><span class=\"token punctuation\">,</span> and <span class=\"token keyword\">return</span> <span class=\"token number\">10.</span>\n\n<span class=\"token keyword\">var</span> output <span class=\"token operator\">=</span> <span class=\"token function\">computeSummationToN</span><span class=\"token punctuation\">(</span><span class=\"token number\">6</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>output<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// --> 21</span>\n\n<span class=\"token keyword\">let</span> <span class=\"token function-variable function\">computeSummationToN</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  <span class=\"token comment\">// your code here</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>n <span class=\"token operator\">&lt;=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">let</span> number <span class=\"token operator\">=</span> n <span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">return</span> n <span class=\"token operator\">+</span> <span class=\"token function\">computeSummationToN</span><span class=\"token punctuation\">(</span>number<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">var</span> output <span class=\"token operator\">=</span> <span class=\"token function\">computeSummationToN</span><span class=\"token punctuation\">(</span><span class=\"token number\">6</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>output<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// --> 21</span>\n\nhttps<span class=\"token punctuation\">:</span><span class=\"token operator\">/</span><span class=\"token operator\">/</span>repl<span class=\"token punctuation\">.</span>it<span class=\"token operator\">/</span>student<span class=\"token operator\">/</span>submissions<span class=\"token operator\">/</span><span class=\"token number\">3704928</span>\n\n<span class=\"token comment\">// 메모이제이션을 넣어서 구현하고 싶었는데 실패했다. 아직도 너무 부족하다.</span></code></pre></div>\n<p>2.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">https<span class=\"token punctuation\">:</span><span class=\"token operator\">/</span><span class=\"token operator\">/</span>repl<span class=\"token punctuation\">.</span>it<span class=\"token operator\">/</span>student<span class=\"token operator\">/</span>submissions<span class=\"token operator\">/</span><span class=\"token number\">3673320</span>\nWrite a <span class=\"token keyword\">function</span> called <span class=\"token string\">\"getElementOfArrayProperty\"</span><span class=\"token punctuation\">.</span>\n\nGiven an object<span class=\"token punctuation\">,</span> a key<span class=\"token punctuation\">,</span> and a numerical index<span class=\"token punctuation\">,</span> <span class=\"token string\">\"getElementOfArrayProperty\"</span> returns the value <span class=\"token keyword\">of</span> the element at the given index <span class=\"token keyword\">of</span> the array located within the given object at the given key<span class=\"token punctuation\">.</span>\n\nNotes<span class=\"token punctuation\">:</span>\n<span class=\"token operator\">*</span> If the array is empty<span class=\"token punctuation\">,</span> it should <span class=\"token keyword\">return</span> undefined<span class=\"token punctuation\">.</span>\n<span class=\"token operator\">*</span> If the given index is out <span class=\"token keyword\">of</span> range <span class=\"token keyword\">of</span> the array located at the given key<span class=\"token punctuation\">,</span> it should <span class=\"token keyword\">return</span> undefined<span class=\"token punctuation\">.</span>\n<span class=\"token operator\">*</span> If the property at the given key is not an array<span class=\"token punctuation\">,</span> it should <span class=\"token keyword\">return</span> undefined<span class=\"token punctuation\">.</span>\n<span class=\"token operator\">*</span> If there is no property at the key<span class=\"token punctuation\">,</span> it should <span class=\"token keyword\">return</span> undefined<span class=\"token punctuation\">.</span>\n\n<span class=\"token keyword\">var</span> obj <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n key<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'Jamil'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'Albrey'</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> output <span class=\"token operator\">=</span> <span class=\"token function\">getElementOfArrayProperty</span><span class=\"token punctuation\">(</span>obj<span class=\"token punctuation\">,</span> <span class=\"token string\">'key'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>output<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// --> 'Jamil'</span>\n\n<span class=\"token comment\">// 첫 풀이</span>\n<span class=\"token keyword\">let</span> <span class=\"token function-variable function\">getElementOfArrayProperty</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>obj<span class=\"token punctuation\">,</span> key<span class=\"token punctuation\">,</span> index<span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  <span class=\"token comment\">// your code here</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span>obj<span class=\"token punctuation\">.</span>key <span class=\"token operator\">||</span> obj<span class=\"token punctuation\">.</span>key<span class=\"token punctuation\">.</span>length <span class=\"token operator\">&lt;=</span><span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> <span class=\"token keyword\">return</span> undefined<span class=\"token punctuation\">;</span><span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span>obj<span class=\"token punctuation\">.</span>key<span class=\"token punctuation\">[</span>index<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">{</span> <span class=\"token keyword\">return</span> undefined<span class=\"token punctuation\">;</span> <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span>obj<span class=\"token punctuation\">[</span>key<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> undefined<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token comment\">//???</span>\n  <span class=\"token keyword\">return</span> obj<span class=\"token punctuation\">[</span>key<span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span>index<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token punctuation\">}</span>\n<span class=\"token comment\">//error 내용</span>\nShould_return_undefined_3\nError<span class=\"token punctuation\">:</span> Expected <span class=\"token string\">'e'</span> to be undefined<span class=\"token punctuation\">.</span>\n중간에\n\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">typeof</span> obj<span class=\"token punctuation\">[</span>key<span class=\"token punctuation\">]</span> <span class=\"token operator\">!==</span> <span class=\"token string\">'object'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> undefined<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span> <span class=\"token comment\">// 이거 넣으면 바로 통과한다. 왜?</span>\n\n<span class=\"token keyword\">var</span> obj <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n key<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'Jamil'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'Albrey'</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> output <span class=\"token operator\">=</span> <span class=\"token function\">getElementOfArrayProperty</span><span class=\"token punctuation\">(</span>obj<span class=\"token punctuation\">,</span> <span class=\"token string\">'e'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'e'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>output<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// --> 'Jamil'</span></code></pre></div>","frontmatter":{"title":"wrong answer","date":"September 14, 2018"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/til/20180914 - wrong answer/","previous":{"fields":{"slug":"/til/20180912 Demo Day - immersive 7/"},"frontmatter":{"title":"Immersive 7기의 데모데이를 보고 왔다","category":"TIL"}},"next":{"fields":{"slug":"/til/20180914  자바스크립트 자료 구조와 알고리즘 - 로이아니 그로네르/"},"frontmatter":{"title":"자바스크립트 자료 구조와 알고리즘 - 로이아니 그로네르","category":"TIL"}}}}