<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Min IT's Devlog</title>
    <link>https://minit-devlog.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 5 Aug 2026 07:00:46 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>egovici</managingEditor>
    <item>
      <title>[TOEIC] 522회(24.8.11) 토익 905점 졸업</title>
      <link>https://minit-devlog.tistory.com/175</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1394&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9k7Rx/btsI8F6oDFR/OW15OvrZZXWdWQzITz9xeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9k7Rx/btsI8F6oDFR/OW15OvrZZXWdWQzITz9xeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9k7Rx/btsI8F6oDFR/OW15OvrZZXWdWQzITz9xeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9k7Rx%2FbtsI8F6oDFR%2FOW15OvrZZXWdWQzITz9xeK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1394&quot; height=&quot;188&quot; data-origin-width=&quot;1394&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;24년 8월 11일에 있었던 토익 시험에 관련해서 정리해보겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;준비기간&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;24.7.22 ~ 24.8.11(3주)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;시험을 본 목적&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이제 취준을 해야하기도 하고 변리사를 준비하는데 1차때 필요한 것이 TOEIC 775점을 넘기는 것이었다. 목표점수는 900~950점 이상으로 잡았었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;베이스&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;한 5년 전쯤에 졸업인증을 위해 토익을 한번 본 적이 있으며 이때는 380/380으로 760이 나왔었다. 그 이후에는 대학교를 다니면서 자연스럽게 전공원서를 읽게 되었고 미국 주식에도 관심이 많아 영어 읽기만큼은 최소한 읽으면서 지루하지는 않을 정도의 베이스였다. 하지만 LC는 정말정말 못했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;준비하는데 사용한 책 ( 책 홍보는 절대 아님 )&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: center;&quot;&gt;ETS 토익 정기시험 기출문제집 1000 Vol 4 RC/LC(Warming-up 용)&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ETS의 경우 너무 쉬웠다. 지문이나 리스닝에서 나오는 문장이 그대로 답지에 등장하는 경우가 많았다. 한마디로 paraphrase가 필요없는 문제가 거의 대다수였기에 그냥 보이는데로 풀기만 하면 되었는데 좋게 말하면 자신감을 불어넣어주는 문제집이였으나 나에게는 크게 도움이 되지 않은 느낌? 토익 입문자들에게는 적합한 문제라고 생각한다. 실제 기출문제이므로 이런식으로 나온다라는 느낌만 받으면서 간단하게 풀어보면 좋은 것 같다. 필자는 이 책을 풀었을 때 각각 0~10개 내외로 틀렸다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해커스 토익 실전 1000제 1 RC/LC(Sub 용)&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해당 교재가 딱 실토랑 난이도가 같거나 좀더 어려운 느낌이랄까. paraphrase가 부분적으로 되어있는 문제가 포함되어 있어 토익을 준비할 때 적합한 책이라고 생각한다. 이전에 일부는 풀었던 책으로 6~10회정도 5회분정도만 시간이 나면 추가로 풀었다.&amp;nbsp; 필자는 이 책을 풀었을 때 각각 5~15개 내외로 틀렸다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해커스 토익 실전 1000제 2 RC/LC(Main 용)&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;나는 토익을 준비할 때 어느정도 실력이 있다면 해당 교재를 꼭 풀어보기를 추천한다. 이번 시험기간동안 메인으로 공부한 책은 이 책으로 너무나 도움이 많이 된 책이다. 거의 대부분의 문제가 Paraphrase가 되어있어 다양한 어휘를 접할 수 있으며 그 덕분에 시험볼 때 너무나 쉽게 풀었던 것 같다. 다만 조금 어려웠기 때문에 항상 5분은 넘겨서까지 풀었던 것 같다. 실토 대비해서 난이도 생각한다면 +5분정도는 더 풀어도 괜찮은 듯? 필자는 이 책을 풀었을 때 각각 5~20개 내외로 틀렸다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;난이도는&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #000000; text-align: center;&quot;&gt;ETS 기출 1000 Vol 4 &amp;lt; 실토 &amp;lt;= 해커스 1000제 1 &amp;lt; 해커스 1000제 2&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: center;&quot;&gt;파랭이(RC), 빨갱이(LC)라고 불리는 건 이미 가지고 있었고 풀어볼 생각은 있어서 조금씩 풀어보긴 했지만 단기간에 타이트하게 끝내야하는 토익에 맞는 교재인지는 의문이어서 중간에 그만 두었다. 영어에 대해 전혀 베이스가 없다면 할 법하지만 700점이상 나오는 사람들은 어느정도 안다고 가정하고 모의고사 푸는게 훨씬 도움이 많이 될 것 같다는 생각? 만점 받을 생각이라면 하는게 맞긴 하겠지만 말이다. ( 물론 905점따리의 생각이긴 합니다)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;공부방법&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. RC/ LC 모의고사 1회씩 시간재고 풀기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. RC/LC 채점후 틀린 문제 답지 안보고 고쳐보기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 모든 문제에 대한 답의 근거 찾기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RC&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Part5. 모든 문법/어휘 문제를 해석하면서 정확한 근거를 정리 및 몰랐던 어휘는 A4용지에 적어두기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Part6. 모든 문제의 문법/어휘/문장 채워넣기의 근거를 정리 및 몰랐던 어휘는 A4용지에 적어두기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Part7. 전체 지문 해석 및 근거 찾아서 줄쳐놓기 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;및 몰랐던 어휘는&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;A4용지에 적어두기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;LC&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 총 3번을 다시 듣기&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 첫번째는 다시 문제를 풀어보면서 어떤 문장이 해당 문제의 답의 근거인지 생각하면서 풀었다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 두번째는 Script를 보면서 리스닝을 따라서 읽어보기. 이 과정에서도 내가 생각한 근거가 정확한지 확인하면서 읽는다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 세번째는 다시 문제를 보면서 쉐도잉하고 머릿속으로 듣는 동시에 자동으로 해석되고 답이 찍어지는지 확인한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 뭔가 부족하다 싶으면 만족할 때까지 다시 들으면서 쉐도잉&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 똑같이 숙어나 어휘는 A4용지에 적어두었다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;문법&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 초중고를 통해 문법이 체득되어 있는 상태이기에 문제를 풀면서 부족했던 부분은 그때그때 정리하면서 익혔다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Voca&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- Part5,6,7 지문은 모두 해석이 가능할 정도( 모르는 단어도 문맥으로 유추할 정도, 어휘문제의 단어는 거의 몰랐음)의 Voca를 익히고 있었다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 나는 단어의 경우 쌩으로 외우는 것을 정말 싫어하고 효율이 잘 안나왔다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 그 대신 문장을 통해 자동으로 문맥을 통해 익혀지거나 계속해서 문제를 풀면서 반복적으로 나오는 어휘에 익숙해지면서 자연스럽게 외워지는 것을 좋아하기에 그런 식으로 외웠으며 Part5,6,7에 대해 모르는 단어가 나오는 경우 A4용지에 정리만 해두고 틈틈히 한번씩 읽어보는 정도로만 공부했다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 사실 모든 문제의 근거를 찾고 LC를 모두 쉐도잉하기 때문에 단어를 외울 시간이나 여력은 없었고 거의 시험장 가서 A4용지에 있는 단어를 외우기 시작했다.( 물론 운이 좋아서 해당 회차의 시험에서는 내가 모르는 단어는 없었다.)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사실상 RC/LC를 한회씩 풀고 모든 문제에 대한 근거를 정리하고 완벽하게 하면 하루가 모두 지났다. 내가 양치기를 하지 않고 꼼꼼히 본 것은 시중에 풀만한 적합한 문제집이 많지 않았고 내가 맞은 문제라고 하더라도 잘못된 근거를 가지고 혹은 찍어서 맞춘 것들이 많다고 생각했기 때문이다. 물론 자신의 답에 확실한 근거가 있었고 영어를 잘하는 사람의 경우 전체에 대한 답의 근거를 다시 찾아내는 것은 시간낭비라고 생각한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 풀이 방법&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LC&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Part1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 그림을 잘 보고 나올만한 것을 미리 생각하고 푼다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- O/△/X로 들으면서 체크한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Part2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- O/△/X로 들으면서 체크한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 항상 질문의 의문사에 집중한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &quot; 언제 회의를 하는지 않아? &quot; &quot;내 담당이 아니야&quot; 이런식으로 마치 돌려서 이야기하는 부분을 항상 경계한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 평서문에 대해서는 더 집중한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Part3&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 문제를 먼저 읽어서 해당 문제에 해당하는 답부분을 잘 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 항상 집중해야한다. &quot;왜 차를 타고 와야하나요?&quot; &quot; 집이 멀어 그래서 차를 타고 와야해&quot;&amp;nbsp; 이런식으로 근거가 앞에 나오는 경우가 있기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 어디에서 대화를 하는지/ 어떤것에 대해서 대화를 하는지에 대한 문제가 보통 첫번째 문제인데 놓쳤다면 바로 그 다음부터 풀고 마지막에 해당 문제를 푼다. 그 이유는 이후 대화를 통해서도 유추가 가능하기 때문&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Part4&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 문제를 먼저 읽어서 해당 문제에 해당하는 답부분을 잘 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이건 놓치면 다음 기회가 없는 경우가 많으니까 잘 들어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RC&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt; &quot;다 안읽어도 된다. 일부만 읽고 풀 줄 알아야 한다 토익시험은 어쩌구..&quot;는 여론이 정말정말 많은데 그건 실력자들이나 해당하는 거고 다 읽자. 나 같은 경우에도 다읽는다. 나도 일부만 읽어봤는데 함정에 자주 낚여서 그냥 다 읽고 풀자라는 결론을 냈고 다 읽어도 시간이 남고 빨리 풀었다고 해서 점수 더 안준다. 그리고 일부만 읽거나 물 흐르듯이 읽었다가 또 읽고 또 읽고 시간낭비가 되는 경우가 많았다. 시간이 없어서 뒤에 다 찍더라도 다 읽자. 낚여서 틀리는 것과 찍어서 틀리는 것 중 나는 차라리 찍어서 틀리는 게 낫다고 생각한다. 낚여서 틀리면 확신을 갖고 틀리기 때문에 다시 봐도 그거에 매몰되어서 다시 검토해도 틀린 것을 찾기 힘들다. 찍어서는 맞을 확률이 25%나 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Part5/6&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 시험볼때도 문법은 정확한 근거를 찾아서 풀었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Listening때 설명파트에서 미리 풀어놓는건 누구나 아는 꿀팁&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;nbsp; 어휘는 알면 맞는거고 모르면 아는 단어라도 답인지 아닌지 정해놓고 아니라면 나머지 중에 찍자. 고민해봤자 이미 틀린 문제다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 문장 끼워넣기는 나는 자연스럽게 푼 것 같다. 사실 앞뒤보고 선택지 한번 읽어보면 답인게 자연스럽게 나오는데 이건 많이 연습해봐야할 듯?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Part7&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 문제 먼저 읽고 모두 다 해석하면서 선택지를 쳐낼 수 있는 문장이 나오면 그때그때 쳐내면서 풀었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 작은 글씨도 잘 보고 중요하지 않은 것 같은 부분도 잘 봐야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;시험 본 곳 후기&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;시험은 가락고에서 봤고 생각보다 빨리 갔는데 8:40분인가 50분인가부터 시험장에 들여보내주었다. 다른 시험장은 다를 수 있겠지만 빨리 간다면 이정도를 도착시간으로 생각하고 가면 될 듯?&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;스피커는 살짝 웅웅거리는 느낌이 없진 않다. 사실 핑계일 수 있지만 연필로 밑줄긋는 소리와 웅웅거리는 느낌에 LC 보는데 너무 힘들었다. ㅠ&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;교통은 지하철역과는 조금 많이 멀고 버스정류장과는 가깝다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;가락고 감독관이 초보라는 후기가 많아서 걱정했는데 내 시험장에서는 아니었던 것 같다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;시험 후기&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;LC에서 연필 밑줄 긋는 소리와 스피커의 웅웅거리는 소리에 멘탈이 나가 Part2를 제대로 듣지 못했던 것 같다. 그 이외 Part는 모두 괜찮게 들었는데 Part3,4가 물흐르듯이 답이 지나가는 경우가 있어서 생각보다 조금 어려웠던 것 같은 느낌? 반드시 선택지를 먼저 읽어두는 것이 정말 도움이 많이 되었다. 물흐르듯이 지나가도 그것만 들어도 맞추는 거였기 때문이다. 생각보다 실토도 Paraphrase가 심하지는 않아서 그냥 들리는대로 찍으면 답인 느낌이었다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;RC는 너무나 쉽게 풀었던 것 같다. 다 해석하면서 읽고 풀었는데 5분이 남았고 답의 근거도 찾기 쉬웠다. 확실히 해커스 1000제2가 도움이 많이 된 듯?&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;그런데 왜 990을 못찍었냐하면 나의 고질적인 문제가 국어를 못해서이다. 모두 다 해석해도 이상하게 틀리는 경우가 많기 때문이다. 해커스토익에서 논란문제나 Review에서 언급했던 문제는 다 맞았는데 이상한 것에서 틀린 것 같다. 이번에 확실히 RC가 쉬웠어서 조금만 틀려도 많이 깎이는 시험이었던 것 같다. 그래서 멘탈이 터져서 쉬웠지만 많이 틀린 LC가 RC보다 점수가 더 잘 나온 듯? LC보다 RC가 더 좋은 내가 LC를 더 높은 점수를 받다니 놀랍기도 하고 열심히 했구나라는 생각이 들기도 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;비록 900점 턱걸이를 했지만 목표점수를 넘었기 때문에 일단 토익은 졸업할 생각이다. 나중에 더 높은 점수가 필요하다면 그때 다시 공부할 예정!&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자격증/TOEIC(완료)</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/175</guid>
      <comments>https://minit-devlog.tistory.com/175#entry175comment</comments>
      <pubDate>Tue, 20 Aug 2024 14:43:54 +0900</pubDate>
    </item>
    <item>
      <title>[python3] 389. Find the Difference</title>
      <link>https://minit-devlog.tistory.com/170</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;풀이 일자: 23.09.25&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;난이도: [Easy]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;분류: [Hash Table/String/Bit Manipulation/Sorting]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;DailyCoding-logos.jpeg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;1200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x2egN/btsvnaEUoI9/E9ds8tZcUt20kpVrtL5oB0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x2egN/btsvnaEUoI9/E9ds8tZcUt20kpVrtL5oB0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x2egN/btsvnaEUoI9/E9ds8tZcUt20kpVrtL5oB0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx2egN%2FbtsvnaEUoI9%2FE9ds8tZcUt20kpVrtL5oB0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;211&quot; height=&quot;211&quot; data-filename=&quot;DailyCoding-logos.jpeg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;1200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 내용&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;576&quot; data-origin-height=&quot;266&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDcxCE/btsvjfnnp6O/y3NFzIUlUGWRFgVkWy0pUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDcxCE/btsvjfnnp6O/y3NFzIUlUGWRFgVkWy0pUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDcxCE/btsvjfnnp6O/y3NFzIUlUGWRFgVkWy0pUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDcxCE%2Fbtsvjfnnp6O%2Fy3NFzIUlUGWRFgVkWy0pUk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;388&quot; height=&quot;179&quot; data-origin-width=&quot;576&quot; data-origin-height=&quot;266&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;s와 t가 주어졌을 때 s에서 1개의 letter을 추가로 넣고 섞었다고 했을 때 추가된 letter가 뭔지를 return하는 문제이다. ( 실제로는 s를 섞고 임의의 위치에 letter를 넣었다고 나오지만 편의상 넣고 섞었다고 보자)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 해결 흐름&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 사실상 딱 봐도 Hash를 사용해야 하는 것이 자명하다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 여러개의 알파벳이 중복해서 있을 수 있고 각각의 알파벳과 숫자를 모두 기억해두어야 하기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 그렇다면 s와 t중에서 뭐를 dictionary로 바꾸고 나머지를 순회해가면서 비교할지 결정해야 한다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rarr;&lt;span&gt; 나라면 s를 dictionary로 바꾸고 t를 순회해가면서 check할 것이다. 그 이유는 만약 t를 dictionary로 한다면 s는 무조건 모두 순회를 하고 t에서 value가 1인 것을 찾아 return해야한다. 하지만 s를 dictionary로 한다면 t를 순회하던 중 해당 letter가 없거나 더 있는 것을 순회 중에 찾을 수 있기 때문에 평균적으로 s를 dictionary로 사용하는게 좋다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1695607480374&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def findTheDifference(self, s: str, t: str) -&amp;gt; str:
        sc = Counter(s);
        ans = '';

        for letter in t:
            if letter in sc.keys():
                sc[letter] -= 1;
                if sc[letter] &amp;lt; 0:
                    ans = letter;
                    break;
            else:
                ans = letter;
                break;

        return ans;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Time Complexity:&amp;nbsp; O(N)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;t를 순회하기 때문에 t의 length인 N만큼의 시간복잡도를 가질 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Space Complexity: O(N)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;s를 비교를 위한 dictionary형태로 바꾸었기 때문에 이 또한 N의 시간복잡도를 가질 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;다른 해결 방식&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 다른 사람의 코드를 확인해보았을 때 s와 t를 list화 시켜서 sort한 후에 같은지 비교하는 코드와 둘 중 하나를 순회하면서 count를 통해서 비교를 하는 코드가 있었는데 그 코드 모두 내 코드보다는 성능이 좋지 않을 것이다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;rarr;&amp;nbsp; 그 이유는 list화 시키는 것도 시간이고 sort시키는 것도 시간이기에 크게보면 O(N)의 시간복잡도로 같더라도 정확하게 계산하면 4N의 시간복잡도로 봐야하며 count를 사용하는 코드는 s나 t를 순회하는 부분과 내부에 count가 있기 때문에 O(N&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;)의 시간이 걸릴 것이기에 빠르지 않다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 링크&lt;/b&gt;&lt;/h4&gt;
&lt;figure id=&quot;og_1695607578619&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;LeetCode - The World's Leading Online Programming Learning Platform&quot; data-og-description=&quot;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/find-the-difference/description/&quot; data-og-url=&quot;https://leetcode.com/problems/find-the-difference/description/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/S0W08/hyTZdriUir/NLF28dZfw9jR3Zp9xRMMyK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/find-the-difference/description/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/find-the-difference/description/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/S0W08/hyTZdriUir/NLF28dZfw9jR3Zp9xRMMyK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;LeetCode - The World's Leading Online Programming Learning Platform&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코테/LeetCode(Solve)</category>
      <category>Easy</category>
      <category>hash table</category>
      <category>leetcode</category>
      <category>python3</category>
      <category>sorting</category>
      <category>String</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/170</guid>
      <comments>https://minit-devlog.tistory.com/170#entry170comment</comments>
      <pubDate>Mon, 25 Sep 2023 11:12:28 +0900</pubDate>
    </item>
    <item>
      <title>[정처기] 23년 2회 합격</title>
      <link>https://minit-devlog.tistory.com/169</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;202&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9eqLP/btsvkNKquuH/UYiYlTYpOMBdIN7nU0db11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9eqLP/btsvkNKquuH/UYiYlTYpOMBdIN7nU0db11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9eqLP/btsvkNKquuH/UYiYlTYpOMBdIN7nU0db11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9eqLP%2FbtsvkNKquuH%2FUYiYlTYpOMBdIN7nU0db11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;493&quot; height=&quot;147&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;202&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;합격하고 1달이나 지나긴 했지만 그래도 기록겸 올려보면 65점으로 턱걸이 합격을 했다. 가채점 상으로도 정말 간당간당했어서 붙기를 빌고 있었는데 다행히 통과해서 다행이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;합격률이 17.9%로 역대 3번째로 어려웠던 시험이긴 하지만 전공자로서는 부끄러운 결과인 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 여러 총평들이 나오긴 했지만 내 관점에서의 총평을 해본다면&amp;nbsp; hdlc, 템퍼프루핑은 거의 틀리라고 낸게 보이고 코딩문제에서는 여러 해석의 여지가 있는 어휘 사용으로 쉬웠던 문제임에도 불구하고 틀린 사람들이 많이 보이며 '박영희'문제나 java에서의 Primitive Type과 Reference Type의 차이를 명확하게 모르면 틀리는 문제들이 있어서 까다로웠던 시험은 맞아보인다. 암호화 알고리즘의 분류나 패리티 비트 또한 자세히 공부하지 않았으면 틀릴 수밖에 없었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 이것들은 제외하고 다 맞으면 합격이긴 해서 틀리라고 내거나 애매한 문제들을 제외하고는 다 맞출 수 있다면 크게 문제가 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추천하는 공부방법은 공부기간을 최소 1달은 잡고 프로그래밍 언어와 DB부터 공부를 시작하고 이를 지속하는 동시에 이론 공부를 하는 것을 추천하며 점점 언어의 특성과 문법에 대한 문제가 자세하기 나오기 시작했기 때문에 잘 숙지해두는 것이 필요할 듯 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과연 내가 서비스 기업을 가서 이 자격증을 써먹을 일이 없을지, 이 자격증을 써먹어야 하는 SI/SM기업에 취업할지는 모르겠지만 나는 최대한 써먹지 않는 곳으로 제발 가고 싶다. 단순히 CS지식을 remind하고 혹시 모를 상황을 대비해서 따놓긴 했기 때문이다.&lt;/p&gt;</description>
      <category>자격증/정보처리기사(완료)</category>
      <category>정처기</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/169</guid>
      <comments>https://minit-devlog.tistory.com/169#entry169comment</comments>
      <pubDate>Mon, 25 Sep 2023 10:41:35 +0900</pubDate>
    </item>
    <item>
      <title>[운전면허] 2종 보통 면허 따기</title>
      <link>https://minit-devlog.tistory.com/168</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;작년부터 딸까말까 고민을 하다가 결국 앞으로 운전을 하지 않고 나중에 운전연수를 받더라도 따두자라는 결론 하에 2종 보통 면허를 따게 되었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;학원 선택&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;iframe mapdata=&quot;addr=%EC%84%9C%EC%9A%B8%20%EA%B0%95%EB%82%A8%EA%B5%AC%20%EC%84%B8%EA%B3%A1%EB%8F%99%2020-6&amp;amp;addtype=1&amp;amp;confirmid=10711136&amp;amp;docid=&amp;amp;idx=1&amp;amp;ifrH=362px&amp;amp;ifrW=490px&amp;amp;mapHeight=362&amp;amp;mapInfo=%7B%22version%22%3A2%2C%22mapWidth%22%3A490%2C%22mapHeight%22%3A362%2C%22mapCenterX%22%3A526315%2C%22mapCenterY%22%3A1102193%2C%22mapLevel%22%3A4%2C%22coordinate%22%3A%22wcongnamul%22%2C%22markInfo%22%3A%5B%7B%22markerType%22%3A%22standPlace%22%2C%22coordinate%22%3A%22wcongnamul%22%2C%22x%22%3A526316%2C%22y%22%3A1102196%2C%22clickable%22%3Atrue%2C%22draggable%22%3Atrue%2C%22icon%22%3A%7B%22width%22%3A35%2C%22height%22%3A56%2C%22offsetX%22%3A17%2C%22offsetY%22%3A56%2C%22src%22%3A%22%2F%2Ft1.daumcdn.net%2Flocalimg%2Flocalimages%2F07%2F2012%2Fattach%2Fpc_img%2Fico_marker2_150331.png%22%7D%2C%22content%22%3A%22%EA%B4%91%EC%97%B0%EC%9E%90%EB%8F%99%EC%B0%A8%EC%9A%B4%EC%A0%84%EC%A0%84%EB%AC%B8%ED%95%99%EC%9B%90%22%2C%22confirmid%22%3A10711136%7D%5D%2C%22graphicInfo%22%3A%5B%5D%2C%22roadviewInfo%22%3A%5B%5D%7D&amp;amp;mapWidth=490&amp;amp;mapX=526315&amp;amp;mapY=1102193&amp;amp;map_hybrid=false&amp;amp;map_level=4&amp;amp;map_type=TYPE_MAP&amp;amp;rcode=1168070000&amp;amp;tel=02-481-6000&amp;amp;title=%EA%B4%91%EC%97%B0%EC%9E%90%EB%8F%99%EC%B0%A8%EC%9A%B4%EC%A0%84%EC%A0%84%EB%AC%B8%ED%95%99%EC%9B%90&quot; src=&quot;/proxy/plusmapViewer.php?id=maps_1691394198077&quot; id=&quot;maps_1691394198077&quot; width=&quot;540px&quot; height=&quot;350px&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; data-ke-type=&quot;map&quot; data-maps-data=&quot;addr=%EC%84%9C%EC%9A%B8%20%EA%B0%95%EB%82%A8%EA%B5%AC%20%EC%84%B8%EA%B3%A1%EB%8F%99%2020-6&amp;amp;addtype=1&amp;amp;confirmid=10711136&amp;amp;docid=&amp;amp;idx=1&amp;amp;ifrH=362px&amp;amp;ifrW=490px&amp;amp;mapHeight=362&amp;amp;mapInfo=%7B%22version%22%3A2%2C%22mapWidth%22%3A490%2C%22mapHeight%22%3A362%2C%22mapCenterX%22%3A526315%2C%22mapCenterY%22%3A1102193%2C%22mapLevel%22%3A4%2C%22coordinate%22%3A%22wcongnamul%22%2C%22markInfo%22%3A%5B%7B%22markerType%22%3A%22standPlace%22%2C%22coordinate%22%3A%22wcongnamul%22%2C%22x%22%3A526316%2C%22y%22%3A1102196%2C%22clickable%22%3Atrue%2C%22draggable%22%3Atrue%2C%22icon%22%3A%7B%22width%22%3A35%2C%22height%22%3A56%2C%22offsetX%22%3A17%2C%22offsetY%22%3A56%2C%22src%22%3A%22%2F%2Ft1.daumcdn.net%2Flocalimg%2Flocalimages%2F07%2F2012%2Fattach%2Fpc_img%2Fico_marker2_150331.png%22%7D%2C%22content%22%3A%22%EA%B4%91%EC%97%B0%EC%9E%90%EB%8F%99%EC%B0%A8%EC%9A%B4%EC%A0%84%EC%A0%84%EB%AC%B8%ED%95%99%EC%9B%90%22%2C%22confirmid%22%3A10711136%7D%5D%2C%22graphicInfo%22%3A%5B%5D%2C%22roadviewInfo%22%3A%5B%5D%7D&amp;amp;mapWidth=490&amp;amp;mapX=526315&amp;amp;mapY=1102193&amp;amp;map_hybrid=false&amp;amp;map_level=4&amp;amp;map_type=TYPE_MAP&amp;amp;rcode=1168070000&amp;amp;tel=02-481-6000&amp;amp;title=%EA%B4%91%EC%97%B0%EC%9E%90%EB%8F%99%EC%B0%A8%EC%9A%B4%EC%A0%84%EC%A0%84%EB%AC%B8%ED%95%99%EC%9B%90&quot; data-maps-mapx=&quot;526315&quot; data-maps-mapy=&quot;1102193&quot; data-maps-thumbnail=&quot;https://ssl.daumcdn.net/map3/staticmap/image?center=526315%2C1102193&amp;amp;lv=4&amp;amp;size=540x350&amp;amp;srs=WCONGNAMUL&amp;amp;markers=symbol%3Asc_marker%7Clocation%3A526316%2C1102196&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학원은 광연자동차운전전문학원으로 선택했는데 집 주변이기도 하고 삼일보다는 낫다는 후기가 많아서 선택하게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;면허 선택&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 따려면 확실히 따고 말자라는 생각에 1종 보통을 따려 했지만 앞으로 운전할 생각도 없는데 굳이라는 생각이 들었고 그렇다면 2종 보통(수동)을 따보자라는 생각을 했었다. 하지만 학원에는 2종 보통의 경우 자동밖에 없었고 결과적으로 자동을 신청했다. 2종 보통(수동)이 있는 학원이 있을 수 있는데 2종 보통(수동)의 장점은 7년 무사고하면 1종 보통으로 업그레이드가 가능하다는 것이 장점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;총 비용&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학과교육 50,000 + 기능교육비(4시간) 268,400 + 도로주행교육비&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;(6시간)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 403,600 + 보험료 14,300 + 신체검사비 6,000 + 학과시험비 10,000 + 기능시험비 45,000&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;(1회)&lt;span&gt; &lt;/span&gt;&lt;/span&gt;+ 연습면허 인지세(?) 4,000+ 도로주행검정비 55,000(1회) + 면허증비(국문+영문) 10,000&amp;nbsp; = 866,300&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 여기서 시험을 떨어지거나 교육을 추가로 받는다고 치면 100만원은 훌쩍 넘을 듯.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;기간&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학과 1일 + 기능 개인 연습 5일 + 기능 연수 2일 + 기능 시험 1일 + 도로 연수 3일 + 도로 주행 연습 2일 + 도로 주행 검정 1일 + 합격증 받아서 면허증 가져오기 1일 =&amp;nbsp; 15일&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 기본은 기능이나 도로 교육을 2시간씩 나눠서 듣는건데 다른 곳 보니까 한번에 들었다는 사람들도 종종 있긴 했다. 그리고 교육을 받은 당일에는 시험을 보지 못하지만 추가 교육을 신청한 날에는 바로 시험이 가능했다.( 추가 교육을 받아서 한바퀴돌고 시험 보는 식)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자신의 운전의 감에 따라서 다를 것이다. 만약 학원을 다니지 않는다면 비용적인 측면이나 기간을 획기적으로 줄이는 것이 가능하다. 시험비만 들 것이고 기간도 이론상 하루에 학과+기능+도로를 다 보고 당일에 운전면허발급까지도 가능은 하다. 하지만 자신이 운전의 감이 없는 것 같다면 학원을 다니는 게 낫지 않을까? 싶긴 하다. 위의 학원 홍보는 절대 아님!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;학과교육&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작년에 면허를 따기 위해 면허시험장에서 일생에 한 번 듣는 교육을 듣긴 했지만 그렇다 하더라도 학원을 다니려면 학과교육은 필수였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭐 앞으로 바뀔 수는 있겠지만 학과교육은 월수금은 오후에 화목은 오전에, 토요일은 오전오후에 다 있는 것 같다. 전화를 해서 상담을 받아보면 되겠지만 나는 오전 8시에 가서 접수를 하고 바로 학과교육을 들었다. 학과교육은 3시간으로 나눠서 들을 수는 있겠지만 빨리 끝내는 것이 좋기 때문에 연강으로 듣는 것이 좋다. 교육은 도로교통공단에서 만든 동영상을 보여준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;학과시험&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학과시험은 면허시험장에서 시험을 봐야 한다. 가장 가까운 강남면허시험장에 가서 원서를 작성하고 신체검사(시력검사) 후 컴퓨터로 시험을 치게 된다.(신체검사는 국가건강검진 기록으로도 대체되므로 국가건강검진 기록이 있다면 6,000원을 아낄 수 있다.) 60점 이상 합격인데 조금만 모의고사를 풀어보다가 가면 바로 통과가 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 미리 학과시험을 공부해놓고 학원 등록 후 학과교육이 끝나자마자 강남운전면허 시험장으로 가서 시험을 봤다. 88점으로 합격!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;핸들링, 브레이크 감을 익히기 위한 연습&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학과시험후 장내기능 교육 전에 핸들링이나 페달의 감을 익히기 위해 주변 공원 주차장에서 연습을 했다. 차량이 아예 없는 곳에서 연습을 했으며 주차라던가 직진, 좌회전 그리고 브레이크의 감을 익히기 위한 연습을 했다. 연습면허도 없는 데다 도로에서 운전하면 무면허이기 때문에 도로로 인정하지 않는 주차장이나 사유지 내에서 연습을 해보면 좋을 듯. 나는 매주 주말마다 2~3시간씩 연습한 것 같다. &lt;s&gt;물론 공원에는 운전연습을 하지 말라는 플랜카드가 있기는 하다. 사고 위험 때문인 듯&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;장내기능 교육&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장내 기능 교육은 장내교육 4시간이 있고 하루에 2시간씩 나눠서 수업을 들었다. 나는 계획표대로 처음부터 차례대로 알려줄 줄 알았으나 전체 기능내용을 알려주면서 강사가 코스를 한바퀴 돌고 두 번째 시간부터는 계속해서 트랙을 돌면서 익히는 방식이다. (학원마다 다를 것이다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 시동걸기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 기능시험(방향지시등, 전조등/하향등, 와이퍼, 기어)&amp;nbsp; 중 2개 test&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(돌발) =&amp;gt; 시작점에서 오르막길 가기 전 횡단보도 직전&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 오르막길( 올라가다가 3초이상 멈추고 다시 출발)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 교차로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(돌발) =&amp;gt; 교차로 지나고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. T자 주차&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(돌발) =&amp;gt; T자 주차 끝나고 나오는 길&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 교차로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(돌발) =&amp;gt; 3번 주차장쪽&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 가속구간(20km 넘게 유지했다가 떨어뜨리기)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt; 돌발은 1번만 등장함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 강사 분은 착하게 알려주셨고 두 번째 강사 분은 기능 합격률이 30%~40%라는 등 매우 현실적인 조언을 해주시는 분이셨다.&amp;nbsp; 나는 어느정도 연습을 해두었기 때문에 T자 주차 제외하고는 딱히 지적받은 점이 없었다. 오히려 옆에서 강사분이 가만히 있으실 정도? 지적도 T자주차 관련 얘기만 계속하셨다.(T자는 잘못 들어갔어도 연석을 밟지 않는 이상 검지선을 밟더라도 그냥 감정당하고 나와라. 어차피 초보운전이기 때문에 수정하더라도 못나올 확률이 많고 그 과정에서 검지선을 여러번 밟아서 점수 더깎인다는 이야기.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tip) 현실적인 강사분께 들었던 팁인데 풀어보자면 감점 사항에 대해서만 신경쓰자는 것이다. 어차피 기능시험은 연습면허를 따기 위한 시험으로 실제 운전과는 크게 관련이 없는 시험이다. 즉 감점항목에 대해서만 잘 알아두고 그 행위를 하지 않으면 되는 것이다.. 반드시 '감점항목'에 대해 잘 숙지하는 것이 필요.!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;장내기능 검정&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 빠른 시기가 오후밖에 없어서 오후로 잡았는데 그 시간에는 시험보는 차량만 있어서 편했다. 호명을 하면 출발선으로 가서 신분증을 제시하고 통제실에 손을 들어 본인 확인 후 정해주는 차량을 타고 배운대로 시험을 진행하면 된다. 결과는 80점으로 딱 턱걸이 합격. 하나는 돌발 때 깜박이는 늦게 켰나 빨리 껏나 해서 10점 감점, 또 다른 하나는 T자주차에서 들어가기는 잘 들어갔는데 일직선이 되었을 때 핸들을 덜 돌리는 바람에 나올 때 선을 밟아서 10점 감점 당했다.ㅎㅎ&amp;nbsp; 집에서 이미지 트레이닝을 안했더라면 시작시 좌회전 신호 키는거나 끄는 거 같은 사소하지만 중요한 부분에 대해서 분명히 감점되어서 불합격되었겠지만 다행히 머리속으로는 생각을 못했지만 행동으로 저절로 나와서 한번에 통과할 수 있었던 듯.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지 트레이닝이 정말 중요한 것 같아요.. 긴장하면 까먹으니까 몸으로 익혀두기.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주된 실격 사유는 처음에 긴장을 해서 안전벨트를 안 매고 출발했다던가 T자 주차에서 주로 실격하는 것으로 보였으며 전국 평균합격률이 35.4%정도이기 때문에 준비를 잘 하는 것이 좋을 듯. 시작표시를 위한 좌측방향지시기를 켰다가 끄지 않고 돌발 상황을 맞이하여 크게 까이거나 돌발상황에 대한 대처가 부족하거나 마지막에 기쁨에 취해 우측 방향지시기를 켜지 않는다던가 이러한 것이 주 감점요인인 듯.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;도로주행 교육&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도로주행 교육은 처음으로 도로에 나가는 거다보니 정말 떨렸다. 시험보는 코스는 A,B,C,D코스가 있고 그중 (A,D),(B,C)코스는 거의 같은 코스였다. C,D코스는 A,B코스에서 우회전과 유턴을 한 번정도 더하는 코스로 수업을 들을 때 첫 날 2시간에는 A,D코스를 두번째 날 2시간에는 B,C코스를 세번째 날에는 복습을 하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 코스당 40km~50km/h정도로 달리면 20분안팎으로 끝나고 더 천천히 밟으면 25분정도 넘게 걸리기 때문에 1시간에 2코스를 도는 것이 전부이다. 즉 첫째날에 3바퀴(첫 바퀴는 강사분이 운전하셔서 보여주기 때문, 다를 수 있음), 2,3번째 날에는 각각 4바퀴를 돌아 총 11바퀴를 A,B,C,D코스내에서 돌기 때문에 연습시간이 부족하긴 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유튜브에서 미리 길을 외워놓고 운전할 때 디테일한 부분을 강사분께 배우는 것이 필수라고 본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@user-ex3zc7le6f&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.youtube.com/@user-ex3zc7le6f&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 강사님들마다 공식은 거의 비슷한데 운전 스타일이 조금씩 달라서 조금 혼란이 온 적이 있다. 어떤 분은 좀 밟으라고 하시고 어떤 분은 어차피 시간제한이 없는 시험인데 왜이렇게 급하냐고 천천히 밟으라고 하시는 분도 계시고 그래도 마지막 2시간 들었던 여성 강사분이 제일 잘 가르쳐주시는 듯. 교차로 중간까지 엑셀을 밟았다 떼서 그 힘으로 교차로를 빠져나가는 부분이라던가 오른발에 화살표를 맞추라는 등의 매우 실용적인 꿀팁을 잘 알려주셔서 좋았던 것 같다. 다만 잘못 알려주시는 부분도 몇몇 있긴 해서 혼란이 오는 건 사실인 듯.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주의할 점은 학원에서 제공하는 약도가 너무 알아보기 힘들게 되어있고 제대로 된 약도가 아니기 때문에 주행 연습할 때 잘 숙지해두는 것이 중요할 것 같아요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교육을 받을 때 중점을 두어야 하는 것은 언제 진로변경을 해야 하는지, 언제 깜박이를 켜야 하는지, 우회전 후 차선에 진입할 때 어떻게 해야 하는지를 중점으로 알아두는 것이 중요할 것 같아요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;코스에 대한 이야기&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;강사분은 A,D가 제일 쉽고 B,C가 어려운 코스라고 하셨는데 개인적으로 가장 어려운 코스는 D라고 본다. 우회전을 2번하게 되는데 일반적인 신호를 맞춰서 우회전 후 도로에 진입하게 되면 우회전하는 쯤에 해당 진입차로의 직진 신호가 겹쳐서 차선변경이 어려운데 뒤에서 차들은 빵빵거리고 마음이 급해지는 부분이 2개 구간이 있다. 그렇다고 그냥 가게 되면 진입후 유턴을 위해 왼쪽 차선으로 차선변경은 최대 4번 해야하는데 직진차량이 많아 유턴 차로 전까지 차선변경을 하지 못하는 경우가 발생하는 경우가 많았다. 물론 B,C코스또한 지하차도에서 나오는 차들로 인한 끼어들기 상황이나 빈번한 차선변경, 복정사거리를 넘어 동서울대학교까지 가는 코스의 경우 출근시간 차량이 너무 많고 버스나 콘크리트 차량등이 지나가 어려운 것도 맞긴 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 내 생각에는 C,D를 시험본다고 생각하는게 제일 마음이 편한 것 같다. 후기만 봐도&amp;nbsp; A,B코스에 대한 이야기는 거의 없고 C,D코스에 대한 이야기만 많은 거 보면&amp;nbsp; 보통 C,D를 걸리게 하는 것이 아닌가라는 합리적 의심이 가는 듯.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;도로주행 검정 대비 연습&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통은 3일 연속으로 교육을 받고 그다음 날에 바로 시험을 보는 것이 정석이지만 나는 개인적으로 연습을 하기 위해 주말을 띄고 검정 신청을 했다. 규정에 따라 '주행 연습'이라는 표지를 차량 후면의 중앙과 차량 전면의 우측 아래에 붙인 후 토요일에는 A,B 3번 C,D 2번씩 연습했고 일요일에는 A,B,C,D 2번씩 연습했다. 이게 운전면허학원 차량이 아니어서 우회전을 할 때 안전한 타이밍에 가기 위해 잠깐 서는데 뒷 차량이 피해가지 않고 기다리면서 경적을 울리는게 있었다.( 학원에서 처럼 옆으로 차량들이 피해가면 되는데 앞의 차량이 주행연습임을 알렸더라도 뒤에 우회전 줄이 늘어서면 바로 뒷 차량은 알더라도 그 뒷 차부터는 모르니까 경적을 울리는 경우?) 이렇게 연습해도 찜찜하긴 했지만 여기서 연습을 마쳤다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2년이상의 동승자가 있어야 하는 것 잊지 않기. 법적으로 2년 이하는 초보 운전자로 분류되는 것으로 알고 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;도로주행 검정&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2층에 검정실이 있고 기다리다가 검정을 위한 카트체크를 한 후에 교양확인서(?)에 사인을 한 후 신분증 확인을 한다. 이후 여러 주의점을 이야기 한다. 그런데 띠용했던 부분이 도로주행 연습시에는 알려주지 않았던 사실을 알려주는 것이었다. 우회전, 좌회전, 끼어들기, 유턴 이런 경우들을 제외하면 40km/h 이하로 주행시 감점, 방향지시등을 미리 켜두어도 상관없다든지 그런 것들?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이름이 호명되면 나와서 시작점에서 시험을 보며 시험자 2명씩 짝을 이루어 한 명이 운전하고 다른 한 명은 참관인 자격으로 차에 탑승하게 된다. 검정관이 테블릿을 조작하여 참관인의 서명을 받고 시험 보는 사람이 테블릿 화면의 코스 선정 버튼을 눌러 코스를 배정받게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 D코스로 시험을 봤고 결과는 95점으로 합격했다. 감점 사유에 대해서 이야기해줄 줄 알았는데 그런 건 없고 내일 합격증 받으러 오라는 이야기만 해서 감점된 5점의 행방은 잘 모르겠다.ㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;면허증 발급&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;면허 발급시 필요한 준비물 1. 합격증 2. 여권용 사진 3. 신분증 4. (영문+국문) 10,000원&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음날 학원에 가서 합격증이라고 불리는 맨 처음에 썼던 원서에 기능, 도로 합격 도장이 찍혀있는 원서를 받는다. 이후 452번을 타고 세곡사거리에서 내리고 강남06버스를 타고 삼성역에서 내려서 강남면허시험장에 가면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최종합격 발급은 2층에 있으며 앞의 중앙에 위치한 번호표를 뽑아 기다리다가 자신의 순번이 오면 가서 합격증, 신분증, 사진을 내고 자신이 원하는 면허증의 종류를 이야기하면 된다. 국문/국문+영어/국문(IC)/국문+영어(IC) 4개 중 하나이다. 뒤로 갈수록 비싸고 IC가 붙은 것은 모바일 운전면허를 실시간으로 발급받을 수 있게 해주는 카드를 의미이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 기다리다보면 9번창구 앞 모니터에 자신의 이름이 뜨면 가서 이름을 말하고 면허증을 가져오면 끝!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;총평 후기&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학원에서 하라는 대로 그대로 따라하면 된다. 특히 도로주행의 경우 강사분들의 지시를 잘 기억해두었다가 그대로 시험에 적용하면 된다. 도로주행 내에서의 공식도 다 그렇게 해야하는 이유가 있으니까 그렇게 가르치는 것이므로 잘 기억해두면 좋을 듯.. 개인 연습도 어느정도 필요하므로 자신이 운전의 감이 부족하다고 생각이 들면 기능은 주변 공원 주차장에서 하고 도로 주행은 이른 아침에 차량이 그렇게 많지 않을 때 따로 연습을 해보는 것을 추천한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 운전을 하지 않을 생각이긴 한데 또 사람의 일이란 모르는 거니까 일단 따두었다. 그래도 내가 운전할 일이 없길.. 일단 이번 방학의 2번째 자격증도 끝!&lt;/p&gt;</description>
      <category>자격증</category>
      <category>광연자동차운전면허학원</category>
      <category>자격증</category>
      <category>자동차면허시험</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/168</guid>
      <comments>https://minit-devlog.tistory.com/168#entry168comment</comments>
      <pubDate>Mon, 7 Aug 2023 20:45:53 +0900</pubDate>
    </item>
    <item>
      <title>[정처기]  23년 2회 정보처리기사 실기 단기간 준비 기록</title>
      <link>https://minit-devlog.tistory.com/167</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;b&gt;수제비 정보처리기사 실기 교재 기준.. 공부중..&lt;/b&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/10(D-12)&lt;/b&gt;&lt;br&gt;1. 요구사항 확인 1회독&lt;br&gt;2. 화면 설계 1회독&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/11&lt;/b&gt;&lt;b&gt;(D-11)&lt;/b&gt;&lt;br&gt;6. 프로그래밍 언어 활용 1회독&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/12&lt;/b&gt;&lt;b&gt;(D-10)&lt;/b&gt;&lt;br&gt;3. 데이터 입출력 구현 1회독&lt;br&gt;4. 통합 구현 1회독&lt;br&gt;5. 인터페이스 구현 1회독&lt;br&gt;==&amp;gt; 1권 1회독 완료&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/13&lt;/b&gt;&lt;b&gt;(D-9)&lt;/b&gt;&lt;br&gt;1. 요구사항 확인 2회독&lt;br&gt;2. 화면 설계 2회독&lt;br&gt;3. 데이터 입출력 구현 2회독&lt;br&gt;4. 통합 구현 2회독&lt;br&gt;5. 인터페이스 구현 2회독&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/14&lt;/b&gt;&lt;b&gt;(D-8)&lt;/b&gt;&lt;br&gt;6. 프로그래밍 언어 활용 2회독&lt;br&gt;==&amp;gt; 1권 2회독 완료&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/15&lt;/b&gt;&lt;b&gt;(D-7)&lt;/b&gt;&lt;br&gt;7. SQL응용 1회독&lt;br&gt;8. 서버 프로그램 구현&amp;nbsp;&amp;nbsp;1회독&lt;br&gt;9. 소프트웨어 개발 보안 구축 1회독&lt;br&gt;&lt;br&gt;&lt;b&gt;7/16(D-6)&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;10. 애플리케이션 테스트 관리&amp;nbsp;&amp;nbsp;1회독&lt;br&gt;11. 응용 SW 기초 기술 활용 반 1회독&lt;br&gt;&lt;br&gt;&lt;b&gt;7/17(D-5)&lt;/b&gt;&lt;br&gt;11. 응용 SW 기초 기술 활용 반 1회독&lt;br&gt;12. 제품 소프트웨어 메뉴얼 작성 및&amp;nbsp;&amp;nbsp;버전 등록 1회독&lt;br&gt;==&amp;gt; 2권 1회독 완료&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/18(D-4)&lt;/b&gt;&lt;br&gt;7. SQL응용 2회독&lt;br&gt;8. 서버 프로그램 구현&amp;nbsp; 2회독&lt;br&gt;9. 소프트웨어 개발 보안 구축 2회독&lt;br&gt;10. 애플리케이션 테스트 관리&amp;nbsp; 2회독&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/19(D-3)&lt;/b&gt;&lt;br&gt;11. 응용 SW 기초 기술 활용 반 2회독&lt;br&gt;12. 제품 소프트웨어 메뉴얼 작성 및&amp;nbsp;&amp;nbsp;버전 등록 2회독&lt;br&gt;==&amp;gt; 2권 2회독 완료&lt;br&gt;(근거없는 자신감 생성 -&amp;gt; 아직 공부를 반도 안했네 ㅎ)&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/20(D-2) =&amp;gt; 풀 수 있는 모든 문제 풀이 및 모르는 부분 최종 확인하기.&lt;/b&gt;&lt;br&gt;1. 카페 Daily 문제 22년3회차 ~ 23년 2회차 All 풀이&lt;br&gt;2. 22년 1,2,3회차 기출 풀이&lt;br&gt;3. 23년 1회차 기출 풀이&lt;br&gt;4. 최종 모의고사 1,2,3회 모두 풀이&lt;br&gt;5. 카페 최종 모의고사 풀이&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;b&gt;7/21(D-1) &lt;/b&gt;&lt;b&gt;~ 22 시험 전 =&amp;gt; 마지막 다지기용 회독.&lt;/b&gt;&lt;br&gt;1. 교재 최종 3회독&amp;nbsp;&lt;br&gt;2. 문제 Review&lt;br&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자격증/정보처리기사(완료)</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/167</guid>
      <comments>https://minit-devlog.tistory.com/167#entry167comment</comments>
      <pubDate>Thu, 13 Jul 2023 22:29:21 +0900</pubDate>
    </item>
    <item>
      <title>[정처기] 실기시험 준비 시작(D-12)!</title>
      <link>https://minit-devlog.tistory.com/166</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;다음주 토요일에 시험이니까 12일정도밖에 남지 않았다. 이제 미루고 미루던 공부를 해야할 듯.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생각보다 외울게 너무 많아서 다 끝낼 수 있을지 걱정이긴 하지만 미룬 건 나 자신이니까 내가 책임져야지..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 바로 지금부터 시작해서 매일매일 공부한 내용에 대해서 올리면서 공부과정에 대해서 기록해보는 것도 좋을 것 같기도 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전공자 호소인의 정보처리기사 실기시험 지금부터 시작!&lt;/p&gt;</description>
      <category>자격증/정보처리기사(완료)</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/166</guid>
      <comments>https://minit-devlog.tistory.com/166#entry166comment</comments>
      <pubDate>Mon, 10 Jul 2023 13:30:22 +0900</pubDate>
    </item>
    <item>
      <title>[python3] 209. Minimum Size Subarray Sum</title>
      <link>https://minit-devlog.tistory.com/165</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;풀이 일자: 23.07.06&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;난이도: [Medium]&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;분류: [Binary Search, Sliding Window, Prefix Sum]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;DailyCoding-logos.jpeg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;1200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eqA12J/btsmzJDj4kF/7kHbk5EW3j7gR4WOSxu9Fk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eqA12J/btsmzJDj4kF/7kHbk5EW3j7gR4WOSxu9Fk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eqA12J/btsmzJDj4kF/7kHbk5EW3j7gR4WOSxu9Fk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeqA12J%2FbtsmzJDj4kF%2F7kHbk5EW3j7gR4WOSxu9Fk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;211&quot; height=&quot;211&quot; data-filename=&quot;DailyCoding-logos.jpeg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;1200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;문제 내용&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;892&quot; data-origin-height=&quot;208&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOGycC/btsmzi0lklg/8qsau2PBohprkYEOfNtzu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOGycC/btsmzi0lklg/8qsau2PBohprkYEOfNtzu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOGycC/btsmzi0lklg/8qsau2PBohprkYEOfNtzu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOGycC%2Fbtsmzi0lklg%2F8qsau2PBohprkYEOfNtzu1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;539&quot; height=&quot;126&quot; data-origin-width=&quot;892&quot; data-origin-height=&quot;208&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;주어진 array에 대해서 target이 주어졌을 때 해당 target과 같거나 큰 합을 가지는 subarray의 최소 길이를 찾는 문제이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;문제 해결 흐름&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 연속적인 subarray의 합이 우선 중요하고 각각의 subarray를 관찰하는 것이 필요하기에 Sliding Window이 적합하다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;rarr; 이때 가장 중요한 것은 Sliding Window의 핵심 idea인 sum을 구하는 방식이다. 일반적으로 two pointer를 이용하고 sum을 구할 때에는 다시 계산하지 않도록 i가 증가할 때는 sum의 값에 이전의 값을 빼고 j가 증가할 때는 sum의 값에 새로운 값을 더하는 방식으로 이전의 sum을 활용하는 방식을 사용해야 한다,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&amp;rarr; 이를 사용하지 않을 경우 큰 데이터셋에 대해서 TLE가 발생한다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1688614504943&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def minSubArrayLen(self, target: int, nums: List[int]) -&amp;gt; int:

        i, j = 0, 0;
        l = len(nums);
        s = nums[0];

        ans = l;

        if sum(nums) &amp;lt; target:
            return 0;

        while(i!=l and j!=l):
            if s &amp;gt;= target:
                ans = min(ans, j-i+1);
                s -= nums[i];
                i += 1;
            else:
                j += 1;
                if j &amp;lt; l:
                    s += nums[j];
        return ans;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Time Complexity:&amp;nbsp; O(N)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;i와 j의 움직임에 따른 복잡도의 편차가 크겠지만 N의 복잡도를 가질 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Space Complexity: O(1)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;공간복잡도는 현재 변수만을 사용했기 때문에 1의 복잡도를 가질 것으로 보인다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;다른 해결 방식&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1.&amp;nbsp; Official Solution으로는 나와 같은 방식으로 Sliding Window를 사용하였으며 주된 풀이는 Sliding Window였다. 그 다음으로 prefix sum이나 Binary Search를 이용하였으나 문제에는 크게 적합하지 않은 방식으로 보인다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;문제 링크&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;figure id=&quot;og_1688615039007&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Minimum Size Subarray Sum - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Minimum Size Subarray Sum - Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarr&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/minimum-size-subarray-sum/description/&quot; data-og-url=&quot;https://leetcode.com/problems/minimum-size-subarray-sum/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gzRD6/hyTfxB9Mlm/yYV1S79EqAdTpWWYHqdBX0/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/minimum-size-subarray-sum/description/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/minimum-size-subarray-sum/description/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gzRD6/hyTfxB9Mlm/yYV1S79EqAdTpWWYHqdBX0/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Minimum Size Subarray Sum - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Minimum Size Subarray Sum - Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarr&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코테/LeetCode(Solve)</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/165</guid>
      <comments>https://minit-devlog.tistory.com/165#entry165comment</comments>
      <pubDate>Thu, 6 Jul 2023 12:45:35 +0900</pubDate>
    </item>
    <item>
      <title>[python3] 859. Buddy Strings</title>
      <link>https://minit-devlog.tistory.com/164</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;풀이 일자: 23.07.03&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;난이도: [Easy]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분류: [Hash]&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;DailyCoding-logos.jpeg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;1200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ltRpT/btsl6WvRXHr/PkvNdZ71fwxKczz8hYDLPk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ltRpT/btsl6WvRXHr/PkvNdZ71fwxKczz8hYDLPk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ltRpT/btsl6WvRXHr/PkvNdZ71fwxKczz8hYDLPk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FltRpT%2Fbtsl6WvRXHr%2FPkvNdZ71fwxKczz8hYDLPk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;211&quot; height=&quot;211&quot; data-filename=&quot;DailyCoding-logos.jpeg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;1200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 내용&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;324&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RwzXS/btsl5iMGoRB/4EaKhkEZIMgT37pKVtxzHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RwzXS/btsl5iMGoRB/4EaKhkEZIMgT37pKVtxzHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RwzXS/btsl5iMGoRB/4EaKhkEZIMgT37pKVtxzHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRwzXS%2Fbtsl5iMGoRB%2F4EaKhkEZIMgT37pKVtxzHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;445&quot; height=&quot;232&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;324&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2개의 string이 주어지고 s에서 2 문자의 자리를 바꿨을 때 goal이 될 수 있는지 리턴하는 문제이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 해결 흐름&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 일단 불가능한 경우과 가능한 경우가 있을텐데 불가능한 경우의 경우의 수가 훨씬 많을 것이다.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 크게 나누면 len이 다른 경우, len이 같은데 들어가 있는 문자 수가 다른 경우, 자리를 바꾸더라도 불가능한 문자인 경우 이렇게 나눌 수 있을 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1688354900260&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def buddyStrings(self, s: str, goal: str) -&amp;gt; bool:
        sc = Counter(s);
        gc = Counter(goal);
        
        if sc != gc: # 크기가 다르거나 문자의 갯수가 다른 경우
            return False;
        else:
            if s == goal: # s와 goal이 같은 문자이고 s에 같은 문자가 2개이상 있는 경우 무조건 가능
                for i in sc.values():
                    if i &amp;gt;=2:
                        return True;

        idx = -1;
        for i in range(len(s)): # 바꾸더라도 같지 않은 경우 찾기 위한 for문.
            s = list(s)
            if s[i] != goal[i]:
                if idx == -1:
                    idx = i;
                else:
                    s[i], s[idx] = s[idx], s[i];
                    return True if &quot;&quot;.join(s)==goal else False;
        return False;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; Easy문제였지만 고려해야할 예외사항이 여럿 있었고 알고리즘 문제라기보다는 구현 문제에 가까운 것 같다. 실제로 정답률이 크게 낮았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vIkAE/btsl2JRxSGL/WO0Qx8elQquBhfc1izzgtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vIkAE/btsl2JRxSGL/WO0Qx8elQquBhfc1izzgtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vIkAE/btsl2JRxSGL/WO0Qx8elQquBhfc1izzgtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvIkAE%2Fbtsl2JRxSGL%2FWO0Qx8elQquBhfc1izzgtk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1152&quot; height=&quot;163&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Time Complexity:&amp;nbsp; O(N&lt;sup&gt;2&lt;/sup&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;시간복잡도는 밖의 for문과 join을 이용했기 때문에 N^2의 시간복잡도를 가진다고 봐야한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Space Complexity: O(N)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Counter라는 함수를 사용하여 dictionary를 만들었기 때문에 최대 N의 시간복잡도를 가질 것이다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;다른 해결 방식&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 범위를 좁혀놓고 바꿔서 처리하자.(다른사람 풀이)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1688355851339&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def buddyStrings(self, s: str, goal: str) -&amp;gt; bool:
        n = len(s)
        if s == goal:
            temp = set(s)
            return len(temp) &amp;lt; len(goal)

        i = 0
        j = n - 1

        while i &amp;lt; j and s[i] == goal[i]:
            i += 1

        while j &amp;gt;= 0 and s[j] == goal[j]:
            j -= 1

        if i &amp;lt; j:
            s_list = list(s)
            s_list[i], s_list[j] = s_list[j], s_list[i]
            s = ''.join(s_list)

        return s == goal&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rarr;&lt;span&gt; 여러 예외사항에 대한 처리를 하지 않고 간결하게 처리한 방식인 듯.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;869&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgrPmf/btsmiEOpXc1/aAnmJqGpOMCGulrc7fKkuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgrPmf/btsmiEOpXc1/aAnmJqGpOMCGulrc7fKkuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgrPmf/btsmiEOpXc1/aAnmJqGpOMCGulrc7fKkuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgrPmf%2FbtsmiEOpXc1%2FaAnmJqGpOMCGulrc7fKkuK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;131&quot; data-origin-width=&quot;869&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Time Complexity:&amp;nbsp; O(N)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그대로 N의 시간복잡도를 가질 것이다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Space Complexity: O(N)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;공간복잡도는 s의 고유한 글자의 length만큼의 복잡도를 가질 것이다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 링크&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/buddy-strings/description/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://leetcode.com/problems/buddy-strings/description/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1688355309671&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Buddy Strings - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Buddy Strings - Given two strings s and goal, return true if you can swap two letters in s so the result is equal to goal, otherwise, return false. Swapping letters is defined as taking two indices i and j (0-ind&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/buddy-strings/description/&quot; data-og-url=&quot;https://leetcode.com/problems/buddy-strings/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Mq11U/hyTcGsU21z/gFnK8rLXPVt8AqCBGOq6rk/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/buddy-strings/description/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/buddy-strings/description/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Mq11U/hyTcGsU21z/gFnK8rLXPVt8AqCBGOq6rk/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Buddy Strings - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Buddy Strings - Given two strings s and goal, return true if you can swap two letters in s so the result is equal to goal, otherwise, return false. Swapping letters is defined as taking two indices i and j (0-ind&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코테/LeetCode(Solve)</category>
      <category>Easy</category>
      <category>hash</category>
      <category>Implementation</category>
      <category>leetcode</category>
      <category>python3</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/164</guid>
      <comments>https://minit-devlog.tistory.com/164#entry164comment</comments>
      <pubDate>Mon, 3 Jul 2023 12:48:08 +0900</pubDate>
    </item>
    <item>
      <title>[python3] 1514. Path with Maximum Probability</title>
      <link>https://minit-devlog.tistory.com/163</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;풀이 일자: 23.06.28&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;난이도: [Medium]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분류: [Shortest Path/ Bellman-Ford/ Dijkstra]&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;DailyCoding-logos.jpeg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;1200&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbkpX1/btslC3bq2qx/PHz2ixex65iRTItgWI61N0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbkpX1/btslC3bq2qx/PHz2ixex65iRTItgWI61N0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbkpX1/btslC3bq2qx/PHz2ixex65iRTItgWI61N0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbkpX1%2FbtslC3bq2qx%2FPHz2ixex65iRTItgWI61N0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;211&quot; height=&quot;211&quot; data-filename=&quot;DailyCoding-logos.jpeg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;1200&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 내용&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;615&quot; data-origin-height=&quot;431&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wOY0Q/btslFkiZdK2/QRtT1KbctdH54vw6TLeV81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wOY0Q/btslFkiZdK2/QRtT1KbctdH54vw6TLeV81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wOY0Q/btslFkiZdK2/QRtT1KbctdH54vw6TLeV81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwOY0Q%2FbtslFkiZdK2%2FQRtT1KbctdH54vw6TLeV81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;449&quot; height=&quot;315&quot; data-origin-width=&quot;615&quot; data-origin-height=&quot;431&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제의 내용은 start부터 end까지 간다고 했을 때 가장 높은 weight를 가지고 있는 경로의 weight를 반환하는 문제이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 해결 흐름&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 우선 하나의 노드에서 다른 노드로의 이동이기 때문에 BFS를 생각해보았다.(실패)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1687925389569&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def maxProbability(self, n: int, edges: List[List[int]], succProb: List[float], start: int, end: int) -&amp;gt; float:
        visited = list();
        path = dict();

        for i in range(len(edges)):  # 참조하기 쉽도록 path를 만들어주고
            if edges[i][0] not in path:
                path[edges[i][0]]= list();
            path[edges[i][0]].append([edges[i][1], succProb[i]]);

            if edges[i][1] not in path:
                path[edges[i][1]]=list();
            path[edges[i][1]].append([edges[i][0], succProb[i]]);

        if start not in path or end not in path: # 시작점과 끝점이 path에 없다면 이어지지 않은 것이므로 0 리턴
            return 0;

        visited.append(start);
        q = deque();

        for nxt in path[start]: # 시작점 기준으로 주위 노드들을 다 넣고
            q.appendleft(nxt);

        ans = 0;
        while q:
            node, prop = q.pop();
            if node == end:
                ans = max(ans, prop);
            else:
                visited.append(node);
                for nxt in path[node]: # 주변 노드들과 지금까지의 prop을 곱해줌.
                    if nxt[0] not in visited:
                        q.appendleft([nxt[0],prop*nxt[1]]);
        
        return ans;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;결과는 실패였다. Solution을 확인해보니 나는 visited를 통해 한번 지나가면 끝으로 처리했는데 다른 route를 통해서 현재 route에서 지나간 노드를 지나갈 수 있다고 생각했어야 했다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;=&amp;gt; 즉 내 코드에서 방문여부를 확인하는 것 대신 현재 노드에서 다음 노드로 이동했을 때의 prob과 다음 노드의 최대 prob를 비교했어야 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;다른 해결 방식&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. weight가 뭐가 나오든 상관없이 최단거리를 구할 수 있는 알고리즘인 Bellman-Ford 알고리즘(Official Sol)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1687926616713&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def maxProbability(self, n: int, edges: List[List[int]], succProb: List[float], start: int, end: int) -&amp;gt; float:
        max_prob = [0] * n
        max_prob[start] = 1 # start부분을 prob를 1로 두고 이를 기준으로 주변의 prob를 확인하는 형태
        
        for i in range(n - 1): # 최대 n-1개의 이동이 존재할 수 있음.
            has_update = 0
            for j in range(len(edges)):
                u, v = edges[j]
                path_prob = succProb[j] # u에서 v로 가는 것과 v에서 u로 가는 것에 대해 최대 prob를 넣어줌.
                if max_prob[u] * path_prob &amp;gt; max_prob[v]:
                    max_prob[v] = max_prob[u] * path_prob
                    has_update = 1 
                if max_prob[v] * path_prob &amp;gt; max_prob[u]:
                    max_prob[u] = max_prob[v] * path_prob
                    has_update = 1
            if not has_update: # 더이상의 업데이트가 없다면 끝
                break
        
        return max_prob[end]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 빠른 최단거리 알고리즘.(Official Sol)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1687926844224&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def maxProbability(self, n: int, edges: List[List[int]], succProb: List[float], start: int, end: int) -&amp;gt; float:
        graph = defaultdict(list)
        for i, (a, b) in enumerate(edges):
            graph[a].append([b, succProb[i]])
            graph[b].append([a, succProb[i]])
            
        max_prob = [0.0] * n    
        max_prob[start] = 1.0
        
        queue = deque([start]) # Queue에 시작점을 넣고
        while queue:
            cur_node = queue.popleft()
            for nxt_node, path_prob in graph[cur_node]:
                if max_prob[cur_node] * path_prob &amp;gt; max_prob[nxt_node]: # 현재 노드에서 이동하는 것과 다른 방향에서 다음 노드로 이동하는 것 중 max인 것 선택
                    max_prob[nxt_node] = max_prob[cur_node] * path_prob
                    queue.append(nxt_node)
                    
        return max_prob[end]&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. weight가 음수가 아니니까 굳이 Bellman-Ford를 사용할 필요없이 Dijkstra 알고리즘 사용해도 되겠네.(Official Sol)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1687927044548&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def maxProbability(self, n: int, edges: List[List[int]], succProb: List[float], start: int, end: int) -&amp;gt; float:
        graph = defaultdict(list)
        for i, (u, v) in enumerate(edges):
            graph[u].append((v, succProb[i]))
            graph[v].append((u, succProb[i]))
        
        max_prob = [0.0] * n
        max_prob[start] = 1.0
        
        pq = [(-1.0, start)]    
        while pq:
            cur_prob, cur_node = heapq.heappop(pq)
            if cur_node == end:
                return -cur_prob
            for nxt_node, path_prob in graph[cur_node]:

                if -cur_prob * path_prob &amp;gt; max_prob[nxt_node]:
                    max_prob[nxt_node] = -cur_prob * path_prob
                    heapq.heappush(pq, (-max_prob[nxt_node], nxt_node))
        return 0.0&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;문제 링크&lt;/b&gt;&lt;/h4&gt;
&lt;figure id=&quot;og_1687927183122&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Path with Maximum Probability - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Path with Maximum Probability - You are given an undirected weighted graph of&amp;nbsp;n&amp;nbsp;nodes (0-indexed), represented by an edge list where&amp;nbsp;edges[i] = [a, b]&amp;nbsp;is an undirected edge connecting the nodes&amp;nbsp;a&amp;nbsp;and&amp;nbsp;b&amp;nbsp;wi&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/path-with-maximum-probability/description/&quot; data-og-url=&quot;https://leetcode.com/problems/path-with-maximum-probability/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cdCqvJ/hyS9OD4lb7/pwxRF9cwKZe5hyTDxckfaK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/path-with-maximum-probability/description/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/path-with-maximum-probability/description/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cdCqvJ/hyS9OD4lb7/pwxRF9cwKZe5hyTDxckfaK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Path with Maximum Probability - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Path with Maximum Probability - You are given an undirected weighted graph of&amp;nbsp;n&amp;nbsp;nodes (0-indexed), represented by an edge list where&amp;nbsp;edges[i] = [a, b]&amp;nbsp;is an undirected edge connecting the nodes&amp;nbsp;a&amp;nbsp;and&amp;nbsp;b&amp;nbsp;wi&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코테/LeetCode(Unsolved)</category>
      <category>Bellman-Ford</category>
      <category>Dijkstra</category>
      <category>leetcode</category>
      <category>Medium</category>
      <category>python3</category>
      <category>Shortest path</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/163</guid>
      <comments>https://minit-devlog.tistory.com/163#entry163comment</comments>
      <pubDate>Wed, 28 Jun 2023 13:42:31 +0900</pubDate>
    </item>
    <item>
      <title>[정처기 필기] 합격!</title>
      <link>https://minit-devlog.tistory.com/160</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이미 점수를 알고 있지만 오늘 최종 합격 발표일이라서 확인해봤다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;568&quot; data-origin-height=&quot;229&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nKzb8/btsjXIsZcD4/Pq8kXmtkdMLUXyETdPN9l1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nKzb8/btsjXIsZcD4/Pq8kXmtkdMLUXyETdPN9l1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nKzb8/btsjXIsZcD4/Pq8kXmtkdMLUXyETdPN9l1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnKzb8%2FbtsjXIsZcD4%2FPq8kXmtkdMLUXyETdPN9l1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;568&quot; height=&quot;229&quot; data-origin-width=&quot;568&quot; data-origin-height=&quot;229&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 곧 실기인데 잘 보길... 기말시험 끝나면 공부 시작해야지. ㅎㅎ&lt;/p&gt;</description>
      <category>자격증/정보처리기사(완료)</category>
      <author>egovici</author>
      <guid isPermaLink="true">https://minit-devlog.tistory.com/160</guid>
      <comments>https://minit-devlog.tistory.com/160#entry160comment</comments>
      <pubDate>Wed, 14 Jun 2023 17:25:35 +0900</pubDate>
    </item>
  </channel>
</rss>