{"componentChunkName":"component---src-templates-post-template-jsx","path":"/algo/posts/2023-06-10--007","result":{"data":{"site":{"siteMetadata":{"title":"Blog by Eunyoung","subtitle":"작업 기록 블로그","copyright":"© All rights reserved.","author":{"name":"EunYoung","twitter":"#"},"disqusShortname":"","url":"https://ssongey.github.io"}},"markdownRemark":{"id":"30e57b66-722b-5d4d-b70e-10f1d2d239dc","html":"<h2>문제</h2>\n<ul>\n<li>이진검색</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/c0dc2eb43db3d0fc2b8bbc52f47b4e7b/fa60d/007-01.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 92.91666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAABYlAAAWJQFJUiTwAAABhUlEQVQ4y6VUCXKDMAz0/9+YdJI0gLnMaSCAUb2iJkebQFrP7MgWWCPtShZBGFIgA/I8j7quo2mayBjDdiuwcGcYBhLHPKVSV9Q0DfV9z85xHBl/WSJJYsrzgoM5XC6XBW3bcuYOzv+bbxwNCSlDklJyyUEgLebyfd/nvVIZ1XVNVVUxtNZ8vvc1DC4ZH4qisFnmjLIs7c+aLc749lbJuDAM/VPCHwUimvHTt3CYcP3GTIsYVxj2Iyj2a8C/Yrfb0/nsMVdxnDCSJKUoiilNleWoZn6apn0JrVsWVPh+QGEYWc4qy1fJJIOG2Zbsx4VZ2ddgUaIo4siv1jtNLg6H45JhluVcOvpSKcUZtm23CvQiLGe433/Q6fTJfN0CgWeopew19L0NOJdET1pmWlTeAi4ZE4EmvuXqP0s4VcEXpgYZvSvEnShpip6LvnlTVqCQyX0M6s6rGWJelUqtwhm54C7gY+tsKvn2ucJTNY/hlWiMIOzmDPGwgjsXEHtY+AEIhidra8Avc/POxdnbM1gAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"007 01\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/c0dc2eb43db3d0fc2b8bbc52f47b4e7b/d9199/007-01.png\"\n        srcset=\"/devHistoryBlog/static/c0dc2eb43db3d0fc2b8bbc52f47b4e7b/8ff5a/007-01.png 240w,\n/devHistoryBlog/static/c0dc2eb43db3d0fc2b8bbc52f47b4e7b/e85cb/007-01.png 480w,\n/devHistoryBlog/static/c0dc2eb43db3d0fc2b8bbc52f47b4e7b/d9199/007-01.png 960w,\n/devHistoryBlog/static/c0dc2eb43db3d0fc2b8bbc52f47b4e7b/07a9c/007-01.png 1440w,\n/devHistoryBlog/static/c0dc2eb43db3d0fc2b8bbc52f47b4e7b/fa60d/007-01.png 1792w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>주어진 코드</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">Solution</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">public</span> <span class=\"token keyword\">static</span> <span class=\"token keyword\">void</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> args<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token class-name\">System</span><span class=\"token punctuation\">.</span>out<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token function\">search</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token keyword\">int</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">{</span><span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">12</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token number\">9</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// 4</span>\n        <span class=\"token class-name\">System</span><span class=\"token punctuation\">.</span>out<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token function\">search</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token keyword\">int</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">{</span><span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">12</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// -1</span>\n        <span class=\"token class-name\">System</span><span class=\"token punctuation\">.</span>out<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token function\">search</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token keyword\">int</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">{</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// 0</span>\n        <span class=\"token class-name\">System</span><span class=\"token punctuation\">.</span>out<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span><span class=\"token function\">search</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token keyword\">int</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">{</span><span class=\"token number\">5</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token number\">5</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// 0</span>\n\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">public</span> <span class=\"token keyword\">static</span> <span class=\"token keyword\">int</span> <span class=\"token function\">search</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> nums<span class=\"token punctuation\">,</span> <span class=\"token keyword\">int</span> target<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token comment\">//</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<hr>\n<h2>결과 및 풀이</h2>\n<ul>\n<li>결과</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/533fa875a64233ecd8c272a71147265e/7db30/007-02.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 26.666666666666668%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAz0lEQVQY022P3UoDMRCF8/7Q5yjSO+/EO/ENLFYoiKi1sBaymm52M5PkM/vT3Qs7cEIymXPyxTxsO55fLafqSAhCSokM5JyL+Fdjf7ywdY37cdx+PrLarVm/3WN2B+XLKjkKQcbAi7Gsc/AlaNHSa2PgVxq8dhiv0MWFIJXBTvMUOnNxra79wIzDeSbqw95r5l4aNNGkSWUfJeNPSgxpOEsTicVrQgj4tsVai6oOr+hk0tCyeUrc7Xt04Xz2VNU3zrmBow8VFexHw8uNxR2EPxGwhfCcG5KVAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"007 02\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/533fa875a64233ecd8c272a71147265e/d9199/007-02.png\"\n        srcset=\"/devHistoryBlog/static/533fa875a64233ecd8c272a71147265e/8ff5a/007-02.png 240w,\n/devHistoryBlog/static/533fa875a64233ecd8c272a71147265e/e85cb/007-02.png 480w,\n/devHistoryBlog/static/533fa875a64233ecd8c272a71147265e/d9199/007-02.png 960w,\n/devHistoryBlog/static/533fa875a64233ecd8c272a71147265e/07a9c/007-02.png 1440w,\n/devHistoryBlog/static/533fa875a64233ecd8c272a71147265e/7db30/007-02.png 1494w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>풀이</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">public</span> <span class=\"token keyword\">static</span> <span class=\"token keyword\">int</span> <span class=\"token function\">search</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> nums<span class=\"token punctuation\">,</span> <span class=\"token keyword\">int</span> target<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">int</span> endIndex <span class=\"token operator\">=</span> nums<span class=\"token punctuation\">.</span>length <span class=\"token operator\">-</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">int</span> startIndex <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">int</span> mid<span class=\"token punctuation\">;</span>\n    \n    <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span>startIndex <span class=\"token operator\">&lt;=</span> endIndex<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        mid <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>endIndex <span class=\"token operator\">+</span> startIndex<span class=\"token punctuation\">)</span> <span class=\"token operator\">/</span> <span class=\"token number\">2</span><span class=\"token punctuation\">;</span>\n        \n        <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>target <span class=\"token operator\">==</span> nums<span class=\"token punctuation\">[</span>mid<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">return</span> mid<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>target <span class=\"token operator\">></span> nums<span class=\"token punctuation\">[</span>mid<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            startIndex <span class=\"token operator\">=</span> mid <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n            endIndex <span class=\"token operator\">=</span> mid <span class=\"token operator\">-</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n    \n    <span class=\"token keyword\">return</span> <span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<hr>\n<h2>배웠다</h2>\n<ul>\n<li>중간값을 구하는 식은 (startIndex+endIndex)/2</li>\n<li>이건 좀 외우자.. 잘 못풀어서 충격이다…</li>\n</ul>","fields":{"tagSlugs":["/tags//"],"slug":"/algo/posts/2023-06-10--007"},"frontmatter":{"title":"Binary Search (easy)","tags":[""],"date":"2023-06-10","description":"neetcode"}}},"pageContext":{"slug":"/algo/posts/2023-06-10--007"}},"staticQueryHashes":[]}