{"componentChunkName":"component---src-templates-post-template-jsx","path":"/algo/posts/2023-06-08--006","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":"f9c07b47-fdd9-5bfa-a8f8-f12a9b55c81c","html":"<h2>문제</h2>\n<ul>\n<li>’(’, ’)’, ’{’, ’}’, ’[’, ’]‘의 determine 이 주어졌을때, 모든 bracket 들이 순서에 맞게 잘 닫혔는지 확인</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/b39c33afc5a36cbffe4504543e09995f/9eaa0/006-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: 105%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAYAAABG1c6oAAAACXBIWXMAABYlAAAWJQFJUiTwAAABd0lEQVQ4y61Ui26DMAzk/3+ynVTGGwIh4Y2Xc2eGuoIoraVTohDOPtuxp5SiIAgYvu9TWZYEm+f5EGDTNFHXdTQMA3nfdUVBpUgbTbrS1LYt9X1P4zjyhaMmDjxjSorimGzTMAk8AUIM74K7k5HPcQerQJx7VVVRlqakCkVZlrHkuq4J59Y2fFEIrLUMfMM9rLI3xtwJtdZMBCCfkgvx3LjIsR6V7RVFQVEUUexkpy5S2QvgBPIfc7VVoIUwDEMmSJKE9wDOQchpcQqEeI/Uk2qKh8cf1kVZ39kyjhDe/wjmwz34NMI8L+h6/SKsSpWuCC1X9xnwbQv43vcD+tA4sty1ill6r+vOAeljyaiu5Ocdub+Sc7pcriw5SVJXUb0rew8sGZ1fuFdijHWSu9NyF8mIEL2Htvio5DTNWPZZuYtkVBZ5g2SQvV1leQWfMpZ8u/mEqTOO/5/XyznEuELuoijmYQAHaHYAz/BVUpa8nrzrSbxu9qP2A+GrbJ4XnbTPAAAAAElFTkSuQmCC'); 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=\"006 01\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/b39c33afc5a36cbffe4504543e09995f/d9199/006-01.png\"\n        srcset=\"/devHistoryBlog/static/b39c33afc5a36cbffe4504543e09995f/8ff5a/006-01.png 240w,\n/devHistoryBlog/static/b39c33afc5a36cbffe4504543e09995f/e85cb/006-01.png 480w,\n/devHistoryBlog/static/b39c33afc5a36cbffe4504543e09995f/d9199/006-01.png 960w,\n/devHistoryBlog/static/b39c33afc5a36cbffe4504543e09995f/07a9c/006-01.png 1440w,\n/devHistoryBlog/static/b39c33afc5a36cbffe4504543e09995f/9eaa0/006-01.png 1676w\"\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\">isValid</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"()\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// true</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\">isValid</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"()[]{}\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// true</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\">isValid</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"(]\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// false</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\">isValid</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"((())\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// false</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\">isValid</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"(\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// false</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\">boolean</span> <span class=\"token function\">isValid</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> s<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/a7323316ffcdb135251b8418e363d2d7/04784/006-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: 34.583333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAABYlAAAWJQFJUiTwAAABK0lEQVQoz32RS0vDUBCF82Nd+Qv8EQquBN24FLsQunKja6Ebi/VRkIqljSUmsU3S5ObmPj5v0gfxeYZhYJg5c+65XrdX8TxJ8SevZNkSrTXWWmps6gbt/iwIyD5SbsIBu7199m6POBye451eFTy8LHibjkmSFCEExpjtYpuzTRhGEctFxmA+4uDpjJPnLp3xNZ6/METL1WBN9J/Cv3pteJmEOt0odrvkyBt1dl03ar/lOnQd1qXReD9vWIIMpsnX3m+wxh2sLGWiMWo142n3TFkppJSUspHKvDAEqSLKLY/vlrR0y86Kys2JQjSfV5UVShhEKomHgvBeNKSeUoo8L9yHJE3WqH3UsqBzZ9m5sPRntcGS3JHFcYzv+24nd55birJgdJnQPw7JQ8UnfCobxEGOB9AAAAAASUVORK5CYII='); 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=\"006 02\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/a7323316ffcdb135251b8418e363d2d7/d9199/006-02.png\"\n        srcset=\"/devHistoryBlog/static/a7323316ffcdb135251b8418e363d2d7/8ff5a/006-02.png 240w,\n/devHistoryBlog/static/a7323316ffcdb135251b8418e363d2d7/e85cb/006-02.png 480w,\n/devHistoryBlog/static/a7323316ffcdb135251b8418e363d2d7/d9199/006-02.png 960w,\n/devHistoryBlog/static/a7323316ffcdb135251b8418e363d2d7/04784/006-02.png 1174w\"\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\">boolean</span> <span class=\"token function\">isValid</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> s<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token class-name\">Stack</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Character</span><span class=\"token punctuation\">></span></span> stack <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Stack</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token class-name\">Map</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Character</span><span class=\"token punctuation\">,</span> <span class=\"token class-name\">Character</span><span class=\"token punctuation\">></span></span> closeDetermineMap <span class=\"token operator\">=</span> <span class=\"token class-name\">Map</span><span class=\"token punctuation\">.</span><span class=\"token function\">of</span><span class=\"token punctuation\">(</span>\n        <span class=\"token string\">')'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'('</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">']'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'['</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'}'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'{'</span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    \n    <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span> c <span class=\"token operator\">:</span> s<span class=\"token punctuation\">.</span><span class=\"token function\">toCharArray</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token class-name\">Character</span> closed <span class=\"token operator\">=</span> closeDetermineMap<span class=\"token punctuation\">.</span><span class=\"token function\">get</span><span class=\"token punctuation\">(</span>c<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    \n        <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>closed <span class=\"token operator\">==</span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            stack<span class=\"token punctuation\">.</span><span class=\"token function\">push</span><span class=\"token punctuation\">(</span>c<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>stack<span class=\"token punctuation\">.</span><span class=\"token function\">isEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">||</span> closed <span class=\"token operator\">!=</span> stack<span class=\"token punctuation\">.</span><span class=\"token function\">pop</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n                <span class=\"token keyword\">return</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">;</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n    \n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span>stack<span class=\"token punctuation\">.</span><span class=\"token function\">isEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    \n    <span class=\"token keyword\">return</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<hr>\n<h2>배웠다</h2>\n<ul>\n<li>if 문으로 남발하지 말고, 조건에 hashmap을 사용할 수 있는지 확인을 먼저 해보자.</li>\n</ul>","fields":{"tagSlugs":["/tags//"],"slug":"/algo/posts/2023-06-08--006"},"frontmatter":{"title":"Valid Parentheses (easy)","tags":[""],"date":"2023-06-08","description":"neetcode"}}},"pageContext":{"slug":"/algo/posts/2023-06-08--006"}},"staticQueryHashes":[]}