<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>dawny devlog</title>
    <link>https://dawon-choi.tistory.com/</link>
    <description>나만의 코드 일지  &amp;zwj; </description>
    <language>ko</language>
    <pubDate>Thu, 11 Jun 2026 19:21:54 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>choidawon</managingEditor>
    <image>
      <title>dawny devlog</title>
      <url>https://tistory1.daumcdn.net/tistory/6671744/attach/823570f8072842d08c53d984806e815b</url>
      <link>https://dawon-choi.tistory.com</link>
    </image>
    <item>
      <title>[Linux Master] 리눅스 마스터 2급 합격 후기 / 공부법</title>
      <link>https://dawon-choi.tistory.com/85</link>
      <description>&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: #222222; text-align: start;&quot;&gt;26년도 1차 &lt;span style=&quot;background-color: #ffffff; color: #444444; text-align: center;&quot;&gt;2503회&lt;/span&gt;, 2차 &lt;span style=&quot;background-color: #ffffff; color: #444444; text-align: center;&quot;&gt;2601회&lt;/span&gt; 합격 후기입니다&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt; &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;스크린샷 2026-05-18 222322.png&quot; data-origin-width=&quot;1196&quot; data-origin-height=&quot;101&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brIazJ/dJMcajvvdYr/9DjVhAPX4dpaQiDRYpCNv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brIazJ/dJMcajvvdYr/9DjVhAPX4dpaQiDRYpCNv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brIazJ/dJMcajvvdYr/9DjVhAPX4dpaQiDRYpCNv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrIazJ%2FdJMcajvvdYr%2F9DjVhAPX4dpaQiDRYpCNv0%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;1196&quot; height=&quot;101&quot; data-filename=&quot;스크린샷 2026-05-18 222322.png&quot; data-origin-width=&quot;1196&quot; data-origin-height=&quot;101&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-18 222313.png&quot; data-origin-width=&quot;1197&quot; data-origin-height=&quot;102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1yG0W/dJMcahYKWom/OtLpK2LTil3h4oJQyl5V60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1yG0W/dJMcahYKWom/OtLpK2LTil3h4oJQyl5V60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1yG0W/dJMcahYKWom/OtLpK2LTil3h4oJQyl5V60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1yG0W%2FdJMcahYKWom%2FOtLpK2LTil3h4oJQyl5V60%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;1197&quot; height=&quot;102&quot; data-filename=&quot;스크린샷 2026-05-18 222313.png&quot; data-origin-width=&quot;1197&quot; data-origin-height=&quot;102&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리눅스로 운영되는 전세계 80%이상의 스마트폰, 70%이상의 클라우드 서버, 세계 상위의 500대 슈퍼컴퓨터를 비롯해서 5세대 이동통신(5G), 사물인터넷(IoT), 드론, 자율주행차 등 미래성장동력 분야에서 다양한 응용기반기술에 토대가 되는 자격종목입니다.&lt;/li&gt;
&lt;li&gt;2급 1차는 온라인 시험으로 총 50문항으로 구성되고 60분간 진행되며, 60점 이상 취득해야합니다.&lt;/li&gt;
&lt;li&gt;2급 2차는 필기 시험으로 사지선다 총 80문항으로 구성되고 총 100분간 진행되며, 60점 이상 취득해야합니다.&lt;/li&gt;
&lt;/ul&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-05-18 223158.png&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;770&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cr3KSb/dJMcacwpzuS/B52ZzCeOduRtfEUTgaY1o0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cr3KSb/dJMcacwpzuS/B52ZzCeOduRtfEUTgaY1o0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cr3KSb/dJMcacwpzuS/B52ZzCeOduRtfEUTgaY1o0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcr3KSb%2FdJMcacwpzuS%2FB52ZzCeOduRtfEUTgaY1o0%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;1198&quot; height=&quot;770&quot; data-filename=&quot;스크린샷 2026-05-18 223158.png&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;770&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&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차 시험과 2차 시험의 간격이 차이가 나는데 겁이 나서 취소와 접수.. 취소와 접수를 반복했습니다.. &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;.&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;검색해보면 인터넷에 돌아다니는 문제가 정리된 한글 파일이 많더라구요! 그래서 저는 그걸로 한번 정리하고 헷갈리는 부분 표시해두었습니다.&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: #9d9d9d;&quot;&gt;&lt;s&gt;오픈북.. 다들 아시죠...?ㅎㅎ&lt;/s&gt;&lt;/span&gt;)&lt;span style=&quot;color: #000000;&quot;&gt; 시간도 많이 촉박한 편이 아닙니다!&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;&quot;&gt;2차 시험은 시험장에 직접 가서 보는 객관식 시험입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;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;넉넉히 일주일 잡고 공부했고, 기출 3~5개년 정도 1회독 한것같습니다. 이렇게 보고 갔는데 막상 문제를 보니 많이 헷갈려서 떨어질 줄 알았습니다 .. ㅎㅎ 시험장 나오자마자 문제 기억해놓은거 gpt에 물어봤는데 다 틀려서 절망하며 버스에서 울고 싶었는데 붙어서 놀랬던....ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 정말 꼼꼼히 기출 문제 보시고, 개념만 명확히 잡아두신다면 넉넉히 합격하실것같습니다!!&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;a href=&quot;https://www.comcbt.com/&quot;&gt;https://www.comcbt.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779111675561&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;최강 자격증 기출문제 전자문제집 CBT&quot; data-og-description=&quot;전자문제집,CBT,자격증,기출문제,해설,워드,워드프로세서,컴활,컴퓨터,활용능력,1급,2급,기사,산업기사,기능사,기능장,정보,전기,산업,안전,PC,네트워크,건축,건설,토목,가스,금속,미용,위험물,자&quot; data-og-host=&quot;www.comcbt.com&quot; data-og-source-url=&quot;https://www.comcbt.com/&quot; data-og-url=&quot;https://www.comcbt.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/t5x2x/dJMb82MIBut/kvdvdzLYEN7w89u08YklC1/img.gif?width=290&amp;amp;height=80&amp;amp;face=0_0_290_80&quot;&gt;&lt;a href=&quot;https://www.comcbt.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.comcbt.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/t5x2x/dJMb82MIBut/kvdvdzLYEN7w89u08YklC1/img.gif?width=290&amp;amp;height=80&amp;amp;face=0_0_290_80');&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;최강 자격증 기출문제 전자문제집 CBT&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;전자문제집,CBT,자격증,기출문제,해설,워드,워드프로세서,컴활,컴퓨터,활용능력,1급,2급,기사,산업기사,기능사,기능장,정보,전기,산업,안전,PC,네트워크,건축,건설,토목,가스,금속,미용,위험물,자&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.comcbt.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://product.kyobobook.co.kr/detail/S000218787227&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://product.kyobobook.co.kr/detail/S000218787227&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779111702399&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;2026 이기적 리눅스마스터 2급(1&amp;middot;2차) 기본서 | 권소라 - 교보문고&quot; data-og-description=&quot;2026 이기적 리눅스마스터 2급(1&amp;middot;2차) 기본서 | &amp;lsquo;2026 이기적 리눅스마스터 2급(1&amp;middot;2차) 기본서&amp;rsquo; 도서가 이기적 영진닷컴에서 출간되었습니다. 본 도서는 리눅스마스터 2급 1&amp;middot;2차 시험을 효율적으&quot; data-og-host=&quot;product.kyobobook.co.kr&quot; data-og-source-url=&quot;https://product.kyobobook.co.kr/detail/S000218787227&quot; data-og-url=&quot;https://product.kyobobook.co.kr/detail/S000218787227&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/7a11D/dJMb89yi5rV/230BXkJenktwjxwCAeTzAK/img.jpg?width=458&amp;amp;height=619&amp;amp;face=0_0_458_619,https://scrap.kakaocdn.net/dn/jKg74/dJMb8RRXm2m/10qZmHaXMJ5IbNqea3koB1/img.jpg?width=458&amp;amp;height=619&amp;amp;face=0_0_458_619,https://scrap.kakaocdn.net/dn/GAEvw/dJMb87N15eW/I2mAxlr2UCyBM8GBwu7m21/img.jpg?width=814&amp;amp;height=6278&amp;amp;face=0_0_814_6278&quot;&gt;&lt;a href=&quot;https://product.kyobobook.co.kr/detail/S000218787227&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://product.kyobobook.co.kr/detail/S000218787227&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/7a11D/dJMb89yi5rV/230BXkJenktwjxwCAeTzAK/img.jpg?width=458&amp;amp;height=619&amp;amp;face=0_0_458_619,https://scrap.kakaocdn.net/dn/jKg74/dJMb8RRXm2m/10qZmHaXMJ5IbNqea3koB1/img.jpg?width=458&amp;amp;height=619&amp;amp;face=0_0_458_619,https://scrap.kakaocdn.net/dn/GAEvw/dJMb87N15eW/I2mAxlr2UCyBM8GBwu7m21/img.jpg?width=814&amp;amp;height=6278&amp;amp;face=0_0_814_6278');&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;2026 이기적 리눅스마스터 2급(1&amp;middot;2차) 기본서 | 권소라 - 교보문고&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;2026 이기적 리눅스마스터 2급(1&amp;middot;2차) 기본서 | &amp;lsquo;2026 이기적 리눅스마스터 2급(1&amp;middot;2차) 기본서&amp;rsquo; 도서가 이기적 영진닷컴에서 출간되었습니다. 본 도서는 리눅스마스터 2급 1&amp;middot;2차 시험을 효율적으&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;product.kyobobook.co.kr&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;&lt;b&gt;오답 정리 + 반복 회독&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;만 확실하게 해두시면 합격 하실것입니다!! 걱정 마시고..&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;참고하셔서 공부하시기를 바라며 마무리하겠습니다.!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #353638; text-align: left;&quot;&gt;다들 좋은 결과 있으시길!&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #353638; text-align: left;&quot;&gt; &lt;/span&gt;&lt;/p&gt;</description>
      <category>Certification</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/85</guid>
      <comments>https://dawon-choi.tistory.com/85#entry85comment</comments>
      <pubDate>Mon, 18 May 2026 22:49:23 +0900</pubDate>
    </item>
    <item>
      <title>[SQLD] SQL Developer 60회 합격 후기 / 공부법</title>
      <link>https://dawon-choi.tistory.com/84</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;26년도 60회 SQL 개발자 합격 후기입니다 &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt; &lt;/span&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;blob&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;774&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVvGXI/dJMcacbuQpV/9542RSgFbwxJ4nIqEIXIUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVvGXI/dJMcacbuQpV/9542RSgFbwxJ4nIqEIXIUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVvGXI/dJMcacbuQpV/9542RSgFbwxJ4nIqEIXIUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVvGXI%2FdJMcacbuQpV%2F9542RSgFbwxJ4nIqEIXIUk%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;400&quot; height=&quot;711&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;774&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SQLD는 한국데이터산업진흥원이 주관하는 국가고인 민간 자격증으로, 데이터베이스를 활용하여 데이터를 조작하고 추출하는 SQL 언어 구사 능력을 인증하는 시험입니다.&lt;/li&gt;
&lt;li&gt;1과목은 데이터 모델링의 이해로 총 10문항(20점)이 출제되고, 2과목은 SQL 기본 및 활용으로 40문항(80점)이 출제됩니다.&lt;/li&gt;
&lt;li&gt;합격 기준은 100점 만점 60점 이상, 과목별 40% 이상이어야 합니다. 즉, 1과목이 8점 이상, 2과목이 32점 이상이어야 과락을 면할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 총 4번의 시험을 응시하였는데요, 후기를 찾아보았을때 금방 취득하길래 설렁설렁.. 공부했더니 탈락의 고배를 마시고..&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;&lt;b&gt;추천 사이트&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.&lt;a href=&quot;https://www.youtube.com/@ProfNKim&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.youtube.com/@ProfNKim&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1774866169677&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;profile&quot; data-og-title=&quot;국민대학교 김남규 교수&quot; data-og-description=&quot;▶안녕하세요 김남규 교수입니다. ▶국민대학교 비즈니스IT전문대학원과 경영정보학부에서 데이터과학개론, 텍스트데이터분석, 데이터베이스입문, 데이터베이스 실무 과목을 강의하고 있습니&quot; data-og-host=&quot;www.youtube.com&quot; data-og-source-url=&quot;https://www.youtube.com/@ProfNKim&quot; data-og-url=&quot;https://www.youtube.com/channel/UC7NfTgAcEuVZsydTcD0RkrA&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/L9Xfs/dJMb89ydEk9/PoLmAtrjJzkhNjd2jF6SqK/img.jpg?width=900&amp;amp;height=900&amp;amp;face=232_333_597_732,https://scrap.kakaocdn.net/dn/bFGn0J/dJMb8U8TEnX/JpfdD5r8U7U09S6BlmDepk/img.jpg?width=900&amp;amp;height=900&amp;amp;face=232_333_597_732,https://scrap.kakaocdn.net/dn/byjbBx/dJMb84XYNTf/VaC6zquVcXfs9Zt68KqgT0/img.jpg?width=900&amp;amp;height=900&amp;amp;face=232_333_597_732&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@ProfNKim&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.youtube.com/@ProfNKim&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/L9Xfs/dJMb89ydEk9/PoLmAtrjJzkhNjd2jF6SqK/img.jpg?width=900&amp;amp;height=900&amp;amp;face=232_333_597_732,https://scrap.kakaocdn.net/dn/bFGn0J/dJMb8U8TEnX/JpfdD5r8U7U09S6BlmDepk/img.jpg?width=900&amp;amp;height=900&amp;amp;face=232_333_597_732,https://scrap.kakaocdn.net/dn/byjbBx/dJMb84XYNTf/VaC6zquVcXfs9Zt68KqgT0/img.jpg?width=900&amp;amp;height=900&amp;amp;face=232_333_597_732');&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;국민대학교 김남규 교수&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;▶안녕하세요 김남규 교수입니다. ▶국민대학교 비즈니스IT전문대학원과 경영정보학부에서 데이터과학개론, 텍스트데이터분석, 데이터베이스입문, 데이터베이스 실무 과목을 강의하고 있습니&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.youtube.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.yes24.com/product/goods/172870448&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.yes24.com/product/goods/172870448&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1774866205971&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;book&quot; data-og-title=&quot;2026 에듀윌 SQLD SQL 개발자 2주끝장+무료특강 | 김남규 | 에듀윌 - 예스24&quot; data-og-description=&quot;강의 그 이상, 김남규 교수의 강의를 담은 단기 합격서 핵심이론과 최신 기출 복원 문제로, 데이터 초보도 2주면 OK!1. 국민대학교 김남규 교수의 유튜브 강의와 연계된 핵심이론 수록2. 최신 기출&quot; data-og-host=&quot;www.yes24.com&quot; data-og-source-url=&quot;https://www.yes24.com/product/goods/172870448&quot; data-og-url=&quot;https://www.yes24.com/product/goods/172870448&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dmbGJe/dJMb9lk7cb2/2bG6LM6MkHUF7YecPM8rOk/img.jpg?width=946&amp;amp;height=1200&amp;amp;face=0_0_946_1200,https://scrap.kakaocdn.net/dn/PVLef/dJMb83ksZgN/9euMC2C9bZfmWgKQE1uo5K/img.jpg?width=946&amp;amp;height=1200&amp;amp;face=0_0_946_1200,https://scrap.kakaocdn.net/dn/bWfaB1/dJMb9aKFbbj/izoswTYYuPDEPJdUtiYw4K/img.jpg?width=946&amp;amp;height=1200&amp;amp;face=0_0_946_1200&quot;&gt;&lt;a href=&quot;https://www.yes24.com/product/goods/172870448&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.yes24.com/product/goods/172870448&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dmbGJe/dJMb9lk7cb2/2bG6LM6MkHUF7YecPM8rOk/img.jpg?width=946&amp;amp;height=1200&amp;amp;face=0_0_946_1200,https://scrap.kakaocdn.net/dn/PVLef/dJMb83ksZgN/9euMC2C9bZfmWgKQE1uo5K/img.jpg?width=946&amp;amp;height=1200&amp;amp;face=0_0_946_1200,https://scrap.kakaocdn.net/dn/bWfaB1/dJMb9aKFbbj/izoswTYYuPDEPJdUtiYw4K/img.jpg?width=946&amp;amp;height=1200&amp;amp;face=0_0_946_1200');&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;2026 에듀윌 SQLD SQL 개발자 2주끝장+무료특강 | 김남규 | 에듀윌 - 예스24&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;강의 그 이상, 김남규 교수의 강의를 담은 단기 합격서 핵심이론과 최신 기출 복원 문제로, 데이터 초보도 2주면 OK!1. 국민대학교 김남규 교수의 유튜브 강의와 연계된 핵심이론 수록2. 최신 기출&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.yes24.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;
&lt;p data-ke-size=&quot;size16&quot;&gt;다들 김남규 교수님 강의를 추천을 많이 해줬는데 처음에는 믿지 않고 &lt;b&gt;only&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;타 강의도 들어보고, 다양한 책도 본 사람으로써, 내용이 여러가지로 해석될 가능성도 많이 있고 책마다 설명하는게 조금 조금씩 다른 부분도 있어서 헷갈리기 쉽겠다라는 생각이 많이 들었습니다. 저는 그 중에 교수님의 강의가 가장 신뢰성 있고 그 무엇보다도 이해하기 쉽게, 깔끔하게 설명을 잘해주셔서 합격에 도움이 많이 됐던 요인 중 하나라고 생각이 듭니다!&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;책은 절대 광고 아니고 ㅎㅎ 저는 자격증 딸때 사는 책이 고정적인데 그 중 하나가 에듀윌이에요! 설명이 깔끔해서 개인적으로 좋아하는데, 기출문제도 많고, 문제도 많아서 내가 개념을 잘 이해하고 있는지 문제를 통해 확인할 수 있어서 편했고, 그리고 각 챕터마다 김남규 교수님 유튜브 강의를 볼 수 있는 QR코드가 있어서 '아, 이 챕터에는 이 강의를 들으면 되는구나!' 라고 생각 할 수 있어서 넘 좋았습니다.&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;a href=&quot;https://www.yes24.com/product/goods/124645703&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.yes24.com/product/goods/124645703&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1774866828419&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;book&quot; data-og-title=&quot;SQL 자격검정 실전문제 | 한국데이터진흥원 | 한국데이터산업진흥원 - 예스24&quot; data-og-description=&quot;SQL 자격검정 실전문제&quot; data-og-host=&quot;www.yes24.com&quot; data-og-source-url=&quot;https://www.yes24.com/product/goods/124645703&quot; data-og-url=&quot;https://www.yes24.com/product/goods/124645703&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/feq0A/dJMb9kT222i/Q8gDoSym5yM8XcJ7ffJxOk/img.jpg?width=875&amp;amp;height=1200&amp;amp;face=0_0_875_1200,https://scrap.kakaocdn.net/dn/iHsjI/dJMb9bv2mHm/ZfNRK7koTgO6bs8IKEMG3k/img.jpg?width=875&amp;amp;height=1200&amp;amp;face=0_0_875_1200,https://scrap.kakaocdn.net/dn/b1cWFk/dJMb9cBIaRy/dVGuLASkvinvpPKrg4y34K/img.jpg?width=875&amp;amp;height=1200&amp;amp;face=0_0_875_1200&quot;&gt;&lt;a href=&quot;https://www.yes24.com/product/goods/124645703&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.yes24.com/product/goods/124645703&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/feq0A/dJMb9kT222i/Q8gDoSym5yM8XcJ7ffJxOk/img.jpg?width=875&amp;amp;height=1200&amp;amp;face=0_0_875_1200,https://scrap.kakaocdn.net/dn/iHsjI/dJMb9bv2mHm/ZfNRK7koTgO6bs8IKEMG3k/img.jpg?width=875&amp;amp;height=1200&amp;amp;face=0_0_875_1200,https://scrap.kakaocdn.net/dn/b1cWFk/dJMb9cBIaRy/dVGuLASkvinvpPKrg4y34K/img.jpg?width=875&amp;amp;height=1200&amp;amp;face=0_0_875_1200');&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;SQL 자격검정 실전문제 | 한국데이터진흥원 | 한국데이터산업진흥원 - 예스24&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SQL 자격검정 실전문제&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.yes24.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;
&lt;p data-ke-size=&quot;size16&quot;&gt;두번째는 바로 빼놓을 수 없는 노랭이 책입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SQLD 시험이 기출문제도 정말.. 많이 나오기 때문에, 꼭 n회독 하셔서 시험 보시는걸 추천드립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 두문제도 합격과 불합격의 당락을 짓기 때문에 꼭 보셔서 아는 문제는 맞길 바라며, 문제를 외우는것도 좋지만, 왜 정답이 되는지 왜 정답이 안되는지 확인하며 문제를 푸시면 도움이 될것같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로 해설 부분이 조금 아쉽긴 한데, 그래도 인터넷에 찾아보고 GPT에게 물어보며 공부하니 나름대로 공부가 되어서 GPT도 적극 활용하심을 추천드립니다ㅎㅎ&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;3. &lt;a href=&quot;https://product.kyobobook.co.kr/detail/S000217937565&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://product.kyobobook.co.kr/detail/S000217937565&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1774868406528&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;2026 이기적 SQLD SQL 개발자 기본서 이론+기출문제 | 강태우 - 교보문고&quot; data-og-description=&quot;2026 이기적 SQLD SQL 개발자 기본서 이론+기출문제 | 본 도서는 SQL 개발자(SQLD) 시험 경향을 분석하여 수험생들이 혼자서도 학습할 수 있도록 한 완벽 대비서이다. 시행처인 데이터산업진흥원에서 &quot; data-og-host=&quot;product.kyobobook.co.kr&quot; data-og-source-url=&quot;https://product.kyobobook.co.kr/detail/S000217937565&quot; data-og-url=&quot;https://product.kyobobook.co.kr/detail/S000217937565&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gX9DX/dJMb8XR5ILD/rRCxjzEPdmGdR0t3yDIXWK/img.jpg?width=458&amp;amp;height=619&amp;amp;face=0_0_458_619,https://scrap.kakaocdn.net/dn/bOIRqF/dJMb8Z3rlYH/peK7FjFx8xaNZ4RasbOWkK/img.jpg?width=458&amp;amp;height=619&amp;amp;face=0_0_458_619,https://scrap.kakaocdn.net/dn/OHzQ5/dJMb8SpH2b9/zmmvm8hSjSJ8lazL8rXlnk/img.jpg?width=599&amp;amp;height=608&amp;amp;face=0_0_599_608&quot;&gt;&lt;a href=&quot;https://product.kyobobook.co.kr/detail/S000217937565&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://product.kyobobook.co.kr/detail/S000217937565&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gX9DX/dJMb8XR5ILD/rRCxjzEPdmGdR0t3yDIXWK/img.jpg?width=458&amp;amp;height=619&amp;amp;face=0_0_458_619,https://scrap.kakaocdn.net/dn/bOIRqF/dJMb8Z3rlYH/peK7FjFx8xaNZ4RasbOWkK/img.jpg?width=458&amp;amp;height=619&amp;amp;face=0_0_458_619,https://scrap.kakaocdn.net/dn/OHzQ5/dJMb8SpH2b9/zmmvm8hSjSJ8lazL8rXlnk/img.jpg?width=599&amp;amp;height=608&amp;amp;face=0_0_599_608');&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;2026 이기적 SQLD SQL 개발자 기본서 이론+기출문제 | 강태우 - 교보문고&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;2026 이기적 SQLD SQL 개발자 기본서 이론+기출문제 | 본 도서는 SQL 개발자(SQLD) 시험 경향을 분석하여 수험생들이 혼자서도 학습할 수 있도록 한 완벽 대비서이다. 시행처인 데이터산업진흥원에서&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;product.kyobobook.co.kr&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;
&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;span style=&quot;color: #333333; text-align: start;&quot;&gt;요약본은 인터넷에 많이 돌아다니는데 잘 나와있어서 하나 선택하셔서 헷갈리는 부분 표시해 두었다가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;시험 전에&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&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;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 JOIN 등 텍스트로 받아들이기는 한계가 있어서.. '프로그래머스' 라는 코테 준비용 사이트인데, 문제 풀어보고 개념 확인하면서 어떨때 에러가 나는지 눈으로 확인하니 개념 정립에 도움이 많이 됐던 것 같아요!&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;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;s&gt;개인적으로 유선배 SQL 개발자 책도 언급이 많이 되는데 비추입니다...&lt;/s&gt;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주관적이기때문에 참고하셔서 공부하시기를 바라며 &lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;마무리하겠습니다..&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: center;&quot;&gt;ღ&lt;/span&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;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #353638; text-align: left;&quot;&gt;다들 좋은 결과 있으시길!&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #353638; text-align: left;&quot;&gt; &lt;/span&gt; &lt;span style=&quot;color: #9d9d9d;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Certification</category>
      <category>SQL</category>
      <category>SQLD</category>
      <category>개발자</category>
      <category>자격증</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/84</guid>
      <comments>https://dawon-choi.tistory.com/84#entry84comment</comments>
      <pubDate>Mon, 30 Mar 2026 20:04:10 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 7785번 회사에 있는 사람</title>
      <link>https://dawon-choi.tistory.com/83</link>
      <description>&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/h3&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;상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시&amp;nbsp;9시부터 6시까지 회사에 있지 않아도 된다.&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&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&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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;입력&lt;/b&gt;&lt;/h3&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;첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 &amp;le; n &amp;le; 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 &quot;enter&quot;나 &quot;leave&quot;가 주어진다. &quot;enter&quot;인 경우는 출근, &quot;leave&quot;인 경우는 퇴근이다.&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;회사에는 동명이인이 없으며, 대소문자가 다른 경우에는 다른 이름이다.&amp;nbsp;사람들의 이름은 알파벳 대소문자로 구성된 5글자 이하의 문자열이다.&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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;출력&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt; 현재 회사에 있는 사람의 이름을 사전 순의 역순으로 한 줄에 한 명씩 출력한다. &lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드설명&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;620&quot; data-start=&quot;590&quot; data-ke-size=&quot;size16&quot;&gt;dic = {} : 현재 회사에 있는 사람을 저장할 딕셔너리를 선언한다&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;694&quot; data-start=&quot;621&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;633&quot; data-start=&quot;621&quot;&gt;key: 사람 이름&lt;/li&gt;
&lt;li data-end=&quot;694&quot; data-start=&quot;634&quot;&gt;value: &quot;enter&quot; (사실 value는 크게 의미 없음, &lt;b&gt;이름이 있는지 없는지가 중요&lt;/b&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;문제에서 나온 조건에 맞춰 같은 이름이 enter, leave가 찍히면 없기 때문에 dic에서 지우게끔 코드를 짜준다&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;971&quot; data-start=&quot;948&quot; data-ke-size=&quot;size16&quot;&gt;  enter면 회사에 들어온 것&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1029&quot; data-start=&quot;972&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;989&quot; data-start=&quot;972&quot;&gt;딕셔너리에 이름을 등록함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1108&quot; data-start=&quot;1085&quot; data-ke-size=&quot;size16&quot;&gt;  leave면 회사에서 나간 것&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1149&quot; data-start=&quot;1109&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1126&quot; data-start=&quot;1109&quot;&gt;딕셔너리에서 해당 이름 삭제&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;마지막 조건, 역순 정렬을 위해 코드를 짜준다.&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1326&quot; data-start=&quot;1239&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1278&quot; data-start=&quot;1239&quot;&gt;dic.keys() &amp;rarr; 딕셔너리에 남아있는 사람 이름들만 가져옴&lt;/li&gt;
&lt;li data-end=&quot;1326&quot; data-start=&quot;1279&quot;&gt;sorted(..., reverse=True) &amp;rarr; 내림차순 정렬 (Z &amp;rarr; A)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1366&quot; data-start=&quot;1328&quot; data-ke-size=&quot;size16&quot;&gt;  여기서 dic은 이제 딕셔너리가 아니라 &lt;b&gt;리스트&lt;/b&gt;가 됨!&lt;/p&gt;
&lt;p data-end=&quot;1366&quot; data-start=&quot;1328&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1439&quot; data-start=&quot;1415&quot; data-ke-size=&quot;size16&quot;&gt;결과는 남아있는 사람들을 한 줄씩 출력하기 위해 조건문을 이용해 출력하도록 했다&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1769071691885&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sys
input = sys.stdin.readline

n = int(input())

dic = {}

for i in range(n):
    name, record = map(str, input().split())
    
    if record == 'enter':
        dic[name] = record
    else: 
        del(dic[name])

dic = sorted(dic.keys(), reverse = True)

for j in dic:
    print(j)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Coding Study/BOJ</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/83</guid>
      <comments>https://dawon-choi.tistory.com/83#entry83comment</comments>
      <pubDate>Thu, 22 Jan 2026 17:54:32 +0900</pubDate>
    </item>
    <item>
      <title>[해커랭크] Weather Observation Station 4</title>
      <link>https://dawon-choi.tistory.com/82</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot;&gt;Find the difference between the total number of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;CITY&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries in the table and the number of distinct&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;CITY&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries in the table.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot;&gt;The&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;STATION&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;table is described as follows:&lt;/span&gt;&lt;/p&gt;
&lt;p 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;b&gt;STATION table&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 27.6744%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.093%;&quot;&gt;Field&lt;/td&gt;
&lt;td style=&quot;width: 15.5814%;&quot;&gt;Type&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.093%;&quot;&gt;ID&lt;/td&gt;
&lt;td style=&quot;width: 15.5814%;&quot;&gt;NUMBER&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.093%;&quot;&gt;CITY&lt;/td&gt;
&lt;td style=&quot;width: 15.5814%;&quot;&gt;VARCHAR(21)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.093%;&quot;&gt;STATE&lt;/td&gt;
&lt;td style=&quot;width: 15.5814%;&quot;&gt;VARCHAR(2)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.093%;&quot;&gt;LAT_N&lt;/td&gt;
&lt;td style=&quot;width: 15.5814%;&quot;&gt;NUMBER&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.093%;&quot;&gt;LONG_W&lt;/td&gt;
&lt;td style=&quot;width: 15.5814%;&quot;&gt;NUMBER&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;where&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;LAT_N&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;is the northern latitude and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;LONG_W&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;is the western longitude.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;For example, if there are three records in the table with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;CITY&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;values 'New York', 'New York', 'Bengalaru', there are 2 different city names: 'New York' and 'Bengalaru'. The query returns&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;/span&gt;, &lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;1&lt;/span&gt; because&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: GungSeo, serif;&quot;&gt;total number of records - number of unique city names = 3 - 2&amp;nbsp; = 1&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #35363f; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;전체 도시 수를 구해서 고유한 도시 개수(중복되지 않은)를 뺀 값을 구하는 문제입니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1767934893606&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT COUNT(CITY)- COUNT(DISTINCT(CITY))
FROM STATION&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;a href=&quot;https://www.hackerrank.com/challenges/weather-observation-station-4/problem?isFullScreen=true&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.hackerrank.com/challenges/weather-observation-station-4/problem?isFullScreen=true&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1767934915638&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;Weather Observation Station 4 | HackerRank&quot; data-og-description=&quot;Find the number of duplicate CITY names in STATION.&quot; data-og-host=&quot;www.hackerrank.com&quot; data-og-source-url=&quot;https://www.hackerrank.com/challenges/weather-observation-station-4/problem?isFullScreen=true&quot; data-og-url=&quot;https://www.hackerrank.com/challenges/weather-observation-station-4/problem&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bgdT5a/hyZRfhS1Wm/JCPttJjafl9wmIRssI7uK1/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229&quot;&gt;&lt;a href=&quot;https://www.hackerrank.com/challenges/weather-observation-station-4/problem?isFullScreen=true&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.hackerrank.com/challenges/weather-observation-station-4/problem?isFullScreen=true&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bgdT5a/hyZRfhS1Wm/JCPttJjafl9wmIRssI7uK1/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229');&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;Weather Observation Station 4 | HackerRank&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Find the number of duplicate CITY names in STATION.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.hackerrank.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>SQL Study/HackerRank</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/82</guid>
      <comments>https://dawon-choi.tistory.com/82#entry82comment</comments>
      <pubDate>Fri, 9 Jan 2026 14:02:09 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스[Lv.3] 물고기 종류 별 대어 찾기</title>
      <link>https://dawon-choi.tistory.com/81</link>
      <description>&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;문제설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력하는 SQL 문을 작성해주세요.&lt;br /&gt;물고기의&amp;nbsp;ID&amp;nbsp;컬럼명은&amp;nbsp;ID,&amp;nbsp;이름&amp;nbsp;컬럼명은&amp;nbsp;FISH_NAME,&amp;nbsp;길이&amp;nbsp;컬럼명은&amp;nbsp;LENGTH로&amp;nbsp;해주세요. &lt;br /&gt;결과는&amp;nbsp;물고기의&amp;nbsp;ID에&amp;nbsp;대해&amp;nbsp;오름차순&amp;nbsp;정렬해주세요. &lt;br /&gt;단,&amp;nbsp;물고기&amp;nbsp;종류별&amp;nbsp;가장&amp;nbsp;큰&amp;nbsp;물고기는&amp;nbsp;1마리만&amp;nbsp;있으며&amp;nbsp;10cm&amp;nbsp;이하의&amp;nbsp;물고기가&amp;nbsp;가장&amp;nbsp;큰&amp;nbsp;경우는&amp;nbsp;없습니다.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;FISH_INFO 테이블&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 72.5569%; height: 258px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 17px;&quot;&gt;ID&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 17px;&quot;&gt;FISH_TYPE&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 17px;&quot;&gt;LENGTH&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 17px;&quot;&gt;TIME&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 21px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 21px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 21px;&quot;&gt;30&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 21px;&quot;&gt;2021/12/04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 21px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 21px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 21px;&quot;&gt;50&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 21px;&quot;&gt;2020/03/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 21px;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 21px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 21px;&quot;&gt;40&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 21px;&quot;&gt;2020/03/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 21px;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 21px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 21px;&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 21px;&quot;&gt;2022/03/09&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 21px;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 21px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 21px;&quot;&gt;NULL&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 21px;&quot;&gt;2020/04/08&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 17px;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 17px;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 17px;&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 17px;&quot;&gt;2021/04/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 17px;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 17px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 17px;&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 17px;&quot;&gt;2021/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 17px;&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 17px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 17px;&quot;&gt;55&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 17px;&quot;&gt;2021/01/18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 17px;&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 17px;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 17px;&quot;&gt;73&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 17px;&quot;&gt;2020/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 17px;&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 17px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 17px;&quot;&gt;73&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 17px;&quot;&gt;2021/04/08&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 17px;&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 17px;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 17px;&quot;&gt;22&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 17px;&quot;&gt;2020/06/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 9.06977%; height: 17px;&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;width: 15.1163%; height: 17px;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 24.7674%; height: 17px;&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;width: 23.4883%; height: 17px;&quot;&gt;2022/12/23&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;FISH_NAME_INFO 테이블&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 33.4884%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.8605%;&quot;&gt;FISH_TYPE&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%;&quot;&gt;FISH_NAME&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.8605%;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%;&quot;&gt;BASS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.8605%;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%;&quot;&gt;SNAPPER&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.8605%;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 16.5116%;&quot;&gt;ANCHOVY&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;'BASS'&amp;nbsp;중&amp;nbsp;가장&amp;nbsp;큰&amp;nbsp;물고기는&amp;nbsp;60cm&amp;nbsp;로&amp;nbsp;물고기&amp;nbsp;ID&amp;nbsp;가&amp;nbsp;6이고,&amp;nbsp;'SNAPPER'&amp;nbsp;중&amp;nbsp;가장&amp;nbsp;큰&amp;nbsp;물고기는&amp;nbsp;73cm&amp;nbsp;로&amp;nbsp;물고기&amp;nbsp;ID가&amp;nbsp;9입니다.&amp;nbsp;'ANCHOVY'&amp;nbsp;중&amp;nbsp;가장&amp;nbsp;큰&amp;nbsp;물고기는&amp;nbsp;73cm&amp;nbsp;로&amp;nbsp;물고기&amp;nbsp;ID가&amp;nbsp;8입니다.&amp;nbsp;따라서&amp;nbsp;물고기&amp;nbsp;ID(ID)&amp;nbsp;에&amp;nbsp;대해&amp;nbsp;오름차순&amp;nbsp;정렬한다면&amp;nbsp;결과는&amp;nbsp;다음과&amp;nbsp;같습니다.&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 74.7674%; height: 72px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 19.5349%; height: 17px;&quot;&gt;ID&lt;/td&gt;
&lt;td style=&quot;width: 23.7209%; height: 17px;&quot;&gt;FISH_NAME&lt;/td&gt;
&lt;td style=&quot;width: 31.3953%; height: 17px;&quot;&gt;LENGTH&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 19.5349%; height: 21px;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;width: 23.7209%; height: 21px;&quot;&gt;BASS&lt;/td&gt;
&lt;td style=&quot;width: 31.3953%; height: 21px;&quot;&gt;60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 19.5349%; height: 17px;&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;width: 23.7209%; height: 17px;&quot;&gt;ANCHOVY&lt;/td&gt;
&lt;td style=&quot;width: 31.3953%; height: 17px;&quot;&gt;73&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 19.5349%; height: 17px;&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;width: 23.7209%; height: 17px;&quot;&gt;SNAPPER&lt;/td&gt;
&lt;td style=&quot;width: 31.3953%; height: 17px;&quot;&gt;73&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드설명&lt;/b&gt;&lt;/h3&gt;
&lt;h3 data-end=&quot;439&quot; data-start=&quot;415&quot; data-ke-size=&quot;size23&quot;&gt;✅ &lt;b&gt;INNER JOIN의 의미&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;492&quot; data-start=&quot;440&quot; data-ke-size=&quot;size16&quot;&gt;INNER JOIN은&lt;br /&gt;  &lt;b&gt;두 테이블 모두에 존재하는 데이터만&lt;/b&gt; 결과로 반환한다.&lt;/p&gt;
&lt;p data-end=&quot;496&quot; data-start=&quot;494&quot; data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;558&quot; data-start=&quot;497&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;516&quot; data-start=&quot;497&quot;&gt;FISH_INFO에 존재하고&lt;/li&gt;
&lt;li data-end=&quot;558&quot; data-start=&quot;517&quot;&gt;동시에 FISH_NAME_INFO에도 존재하는 FISH_TYPE&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;571&quot; data-start=&quot;560&quot; data-ke-size=&quot;size16&quot;&gt;인 경우만 출력된다.&lt;/p&gt;
&lt;hr data-end=&quot;576&quot; data-start=&quot;573&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;609&quot; data-start=&quot;578&quot; data-ke-size=&quot;size23&quot;&gt;✅ 이 문제에서 INNER JOIN이 적절한 이유&lt;/h3&gt;
&lt;p data-end=&quot;621&quot; data-start=&quot;611&quot; data-ke-size=&quot;size16&quot;&gt;이 쿼리의 목적은:&lt;/p&gt;
&lt;blockquote data-end=&quot;672&quot; data-start=&quot;623&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;672&quot; data-start=&quot;625&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;ldquo;물고기 종류별 최대 길이 물고기의 ID, 이름, 길이&amp;rdquo;를 정확히 출력하는 것&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;710&quot; data-start=&quot;674&quot; data-ke-size=&quot;size16&quot;&gt;여기서 &lt;b&gt;물고기 이름(FISH_NAME)은 필수 정보&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;799&quot; data-start=&quot;712&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;799&quot; data-start=&quot;712&quot;&gt;FISH_NAME_INFO에 없는 FISH_TYPE이라면?
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;799&quot; data-start=&quot;753&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;769&quot; data-start=&quot;753&quot;&gt;이름을 알 수 없는 물고기&lt;/li&gt;
&lt;li data-end=&quot;799&quot; data-start=&quot;772&quot;&gt;문제 의도상 &lt;b&gt;출력할 가치가 없는 데이터&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;805&quot; data-start=&quot;801&quot; data-ke-size=&quot;size16&quot;&gt;그래서:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;881&quot; data-start=&quot;806&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;845&quot; data-start=&quot;806&quot;&gt;이름이 매칭되지 않는 행은 &lt;b&gt;아예 결과에서 제외&lt;/b&gt;하는 것이 맞고&lt;/li&gt;
&lt;li data-end=&quot;881&quot; data-start=&quot;846&quot;&gt;이 동작을 자연스럽게 보장해주는 것이 INNER JOIN&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;886&quot; data-start=&quot;883&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;922&quot; data-start=&quot;888&quot; data-ke-size=&quot;size26&quot;&gt;3) LEFT JOIN을 쓰면 왜 문제가 될 수 있을까?&lt;/h2&gt;
&lt;h3 data-end=&quot;943&quot; data-start=&quot;924&quot; data-ke-size=&quot;size23&quot;&gt;LEFT JOIN의 의미&lt;/h3&gt;
&lt;p data-end=&quot;1031&quot; data-start=&quot;944&quot; data-ke-size=&quot;size16&quot;&gt;LEFT JOIN은&lt;br /&gt;  &lt;b&gt;왼쪽 테이블(FISH_INFO)의 데이터는 전부 유지&lt;/b&gt;하고,&lt;br /&gt;오른쪽 테이블이 매칭되지 않으면 NULL을 채운다.&lt;/p&gt;
&lt;hr data-end=&quot;1149&quot; data-start=&quot;1146&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1181&quot; data-start=&quot;1151&quot; data-ke-size=&quot;size23&quot;&gt;LEFT JOIN 사용 시 발생 가능한 결과&lt;/h3&gt;
&lt;p data-end=&quot;1215&quot; data-start=&quot;1183&quot; data-ke-size=&quot;size16&quot;&gt;만약 FISH_NAME_INFO에 없는 타입이 있다면:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;I.IDI.FISH_TYPEI.LENGTHN.FISH_NAME
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1358&quot; data-start=&quot;1217&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1358&quot; data-start=&quot;1312&quot;&gt;
&lt;tr data-end=&quot;1358&quot; data-start=&quot;1312&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1318&quot; data-start=&quot;1312&quot;&gt;10&lt;/td&gt;
&lt;td data-end=&quot;1332&quot; data-start=&quot;1318&quot; data-col-size=&quot;sm&quot;&gt;99&lt;/td&gt;
&lt;td data-end=&quot;1343&quot; data-start=&quot;1332&quot; data-col-size=&quot;sm&quot;&gt;50&lt;/td&gt;
&lt;td data-end=&quot;1358&quot; data-start=&quot;1343&quot; data-col-size=&quot;sm&quot;&gt;NULL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1406&quot; data-start=&quot;1360&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1377&quot; data-start=&quot;1360&quot;&gt;최대 길이 조건은 만족했지만&lt;/li&gt;
&lt;li data-end=&quot;1406&quot; data-start=&quot;1378&quot;&gt;&lt;b&gt;이름이 NULL인 물고기&lt;/b&gt;가 결과에 포함됨&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot; data-start=&quot;1603&quot; data-end=&quot;1667&quot;&gt;WHERE: &amp;ldquo;종류별 최대 길이&amp;rdquo;인 행만 남기는 핵심3-1) 서브쿼리(괄호 안)부터 해석
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1156&quot; data-start=&quot;1074&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1115&quot; data-start=&quot;1074&quot;&gt;GROUP BY FISH_TYPE : 물고기를 &lt;b&gt;종류별로 묶고&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1156&quot; data-start=&quot;1116&quot;&gt;MAX(LENGTH) : 각 종류에서 &lt;b&gt;가장 큰 길이&lt;/b&gt;를 구함&lt;/li&gt;
&lt;/ul&gt;
결과 : 즉 &amp;ldquo;종류 1의 최대 길이는 30, 종류 2의 최대 길이는 45 &amp;hellip;&amp;rdquo; 같은 &lt;b&gt;요약표&lt;/b&gt;가 만들어진다.
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;(I.FISH_TYPE, I.LENGTH) &lt;/span&gt;&lt;span&gt;&lt;span&gt;IN&lt;/span&gt;&lt;/span&gt;&lt;span&gt; (서브쿼리 결과) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
이건 튜플 비교(2개 컬럼을 한 쌍으로 비교)
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1551&quot; data-start=&quot;1482&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1519&quot; data-start=&quot;1482&quot;&gt;I.FISH_TYPE = 서브쿼리의 FISH_TYPE 이면서&lt;/li&gt;
&lt;li data-end=&quot;1551&quot; data-start=&quot;1520&quot;&gt;I.LENGTH = 그 타입의 LENGTH_MAX&lt;/li&gt;
&lt;/ul&gt;
둘 다 동시에 만족하는 행만 남김
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1621&quot; data-start=&quot;1585&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1621&quot; data-start=&quot;1585&quot;&gt;&amp;ldquo;해당 타입에서 LENGTH가 최대인 물고기(들)&amp;rdquo;만 걸러짐.&lt;/li&gt;
&lt;/ul&gt;
만약 어떤 타입에서 최대 길이가 45인 물고기가 &lt;b&gt;2마리&lt;/b&gt;면, (그 타입, 45) 조합이 같으니까 &lt;b&gt;2마리 모두 결과에 포함&lt;/b&gt;.&lt;hr data-end=&quot;1708&quot; data-start=&quot;1705&quot; data-ke-style=&quot;style1&quot; /&gt;ORDER BY: 출력 정렬
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1787&quot; data-start=&quot;1757&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1787&quot; data-start=&quot;1757&quot;&gt;최종 결과를 ID 오름차순으로 정렬&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1766728320926&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT I.ID, N.FISH_NAME, I.LENGTH
FROM FISH_INFO I
INNER JOIN FISH_NAME_INFO N
ON N.FISH_TYPE = I.FISH_TYPE
WHERE (I.FISH_TYPE, I.LENGTH) IN (
    SELECT FISH_TYPE, MAX(LENGTH) AS LENGTH_MAX
    FROM FISH_INFO
    GROUP BY FISH_TYPE
)
ORDER BY ID&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;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/293261&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/293261&lt;/a&gt;&lt;/p&gt;</description>
      <category>SQL Study/Programmers</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/81</guid>
      <comments>https://dawon-choi.tistory.com/81#entry81comment</comments>
      <pubDate>Fri, 26 Dec 2025 15:48:14 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스[Lv.2] 가격이 제일 비싼 식품의 정보 출력하기</title>
      <link>https://dawon-choi.tistory.com/80</link>
      <description>&lt;div style=&quot;color: #333333; text-align: start;&quot;&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;문제설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #222222;&quot; data-ke-size=&quot;size16&quot;&gt;FOOD_PRODUCT&amp;nbsp;테이블에서&amp;nbsp;가격이&amp;nbsp;제일&amp;nbsp;비싼&amp;nbsp;식품의&amp;nbsp;식품&amp;nbsp;ID,&amp;nbsp;식품&amp;nbsp;이름,&amp;nbsp;식품&amp;nbsp;코드,&amp;nbsp;식품분류,&amp;nbsp;식품&amp;nbsp;가격을&amp;nbsp;조회하는&amp;nbsp;SQL문을&amp;nbsp;작성해주세요.&lt;/p&gt;
&lt;p style=&quot;color: #222222;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;FOOD_PRODUCT 테이블&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.0698%;&quot;&gt;PRODUCT_ID&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%;&quot;&gt;PRODUCT_NAME&lt;/td&gt;
&lt;td style=&quot;width: 19.7674%;&quot;&gt;PRODUCT_CD&lt;/td&gt;
&lt;td style=&quot;width: 20.4651%;&quot;&gt;CATEGORY&lt;/td&gt;
&lt;td style=&quot;width: 28.3721%;&quot;&gt;PRICE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.0698%;&quot;&gt;P0018&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%;&quot;&gt;맛있는 고추기름&lt;/td&gt;
&lt;td style=&quot;width: 19.7674%;&quot;&gt;CD_OL00008&lt;/td&gt;
&lt;td style=&quot;width: 20.4651%;&quot;&gt;식용유&lt;/td&gt;
&lt;td style=&quot;width: 28.3721%;&quot;&gt;6100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.0698%;&quot;&gt;P0019&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%;&quot;&gt;맛있는 카놀라유&lt;/td&gt;
&lt;td style=&quot;width: 19.7674%;&quot;&gt;CD_OL00009&lt;/td&gt;
&lt;td style=&quot;width: 20.4651%;&quot;&gt;식용유&lt;/td&gt;
&lt;td style=&quot;width: 28.3721%;&quot;&gt;5100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.0698%;&quot;&gt;P0020&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%;&quot;&gt;맛있는 산초유&lt;/td&gt;
&lt;td style=&quot;width: 19.7674%;&quot;&gt;CD_OL00010&lt;/td&gt;
&lt;td style=&quot;width: 20.4651%;&quot;&gt;식용유&lt;/td&gt;
&lt;td style=&quot;width: 28.3721%;&quot;&gt;6500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.0698%;&quot;&gt;P0021&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%;&quot;&gt;맛있는 케첩&lt;/td&gt;
&lt;td style=&quot;width: 19.7674%;&quot;&gt;CD_OL00001&lt;/td&gt;
&lt;td style=&quot;width: 20.4651%;&quot;&gt;소스&lt;/td&gt;
&lt;td style=&quot;width: 28.3721%;&quot;&gt;4500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.0698%;&quot;&gt;P0022&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%;&quot;&gt;맛있는 마요네즈&lt;/td&gt;
&lt;td style=&quot;width: 19.7674%;&quot;&gt;CD_OL00002&lt;/td&gt;
&lt;td style=&quot;width: 20.4651%;&quot;&gt;소스&lt;/td&gt;
&lt;td style=&quot;width: 28.3721%;&quot;&gt;4700&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #222222;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222;&quot; data-ke-size=&quot;size16&quot;&gt;SQL을&amp;nbsp;실행하면&amp;nbsp;다음과&amp;nbsp;같이&amp;nbsp;출력되어야&amp;nbsp;합니다.&lt;/p&gt;
&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.0698%;&quot;&gt;PRODUCT_ID&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%;&quot;&gt;PRODUCT_NAME&lt;/td&gt;
&lt;td style=&quot;width: 19.7674%;&quot;&gt;PRODUCT_CD&lt;/td&gt;
&lt;td style=&quot;width: 21.2791%;&quot;&gt;CATEGORY&lt;/td&gt;
&lt;td style=&quot;width: 27.5581%;&quot;&gt;PRICE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 14.0698%;&quot;&gt;P0020&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%;&quot;&gt;맛있는 산초유&lt;/td&gt;
&lt;td style=&quot;width: 19.7674%;&quot;&gt;CD_OL00010&lt;/td&gt;
&lt;td style=&quot;width: 21.2791%;&quot;&gt;식용유&lt;/td&gt;
&lt;td style=&quot;width: 27.5581%;&quot;&gt;6500&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1766713764350&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM FOOD_PRODUCT
ORDER BY PRICE DESC
LIMIT 1&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #333333; text-align: start;&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처 : &lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131115&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/131115&lt;/a&gt;&lt;/p&gt;</description>
      <category>SQL Study/Programmers</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/80</guid>
      <comments>https://dawon-choi.tistory.com/80#entry80comment</comments>
      <pubDate>Fri, 26 Dec 2025 12:41:39 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 14425번 파이썬 _ 문자열 집합</title>
      <link>https://dawon-choi.tistory.com/79</link>
      <description>&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/h3&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;총 N개의 문자열로 이루어진 집합 S가 주어진다.&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;입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오.&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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;입력&lt;/b&gt;&lt;/h3&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;첫째 줄에 문자열의 개수 N과 M (1 &amp;le; N &amp;le; 10,000, 1 &amp;le; M &amp;le; 10,000)이 주어진다.&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;다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다.&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;다음 M개의 줄에는 검사해야 하는 문자열들이 주어진다.&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;입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있으며, 길이는 500을 넘지 않는다. 집합 S에 같은 문자열이 여러 번 주어지는 경우는 없다.&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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;출력&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt; 첫째 줄에 M개의 문자열 중에 총 몇 개가 집합 S에 포함되어 있는지 출력한다. &lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드설명&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;674&quot; data-start=&quot;658&quot; data-ke-size=&quot;size18&quot;&gt;문자열 집합 생성&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;n_string = &lt;/span&gt;&lt;span&gt;&lt;span&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span&gt;() &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;777&quot; data-start=&quot;708&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;730&quot; data-start=&quot;708&quot;&gt;문자열을 저장할 &lt;b&gt;집합(set)&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;777&quot; data-start=&quot;731&quot;&gt;set의 특징:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;777&quot; data-start=&quot;744&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;754&quot; data-start=&quot;744&quot;&gt;중복 자동 제거&lt;/li&gt;
&lt;li data-end=&quot;777&quot; data-start=&quot;757&quot;&gt;&lt;b&gt;존재 여부 탐색이 O(1)&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;N개의 문자열 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;876&quot; data-start=&quot;863&quot;&gt;한 줄씩 문자열 입력&lt;/li&gt;
&lt;li data-end=&quot;895&quot; data-start=&quot;877&quot;&gt;add()로 set에 저장&lt;/li&gt;
&lt;li data-end=&quot;932&quot; data-start=&quot;896&quot;&gt;같은 문자열이 여러 번 들어와도 &lt;b&gt;자동으로 하나만 유지됨&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;M개의 문자열 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1269&quot; data-start=&quot;1215&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1236&quot; data-start=&quot;1215&quot;&gt;검사할 문자열 m_string이&lt;/li&gt;
&lt;li data-end=&quot;1269&quot; data-start=&quot;1237&quot;&gt;n_string 집합에 &lt;b&gt;존재하면 카운트 증가&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1307&quot; data-start=&quot;1271&quot; data-ke-size=&quot;size16&quot;&gt;  in 연산은 set에서 &lt;b&gt;O(1)&lt;/b&gt; 이라서 매우 빠름&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1765179237321&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sys
input = sys.stdin.readline

n,m = map(int, input().split())

n_string = set()

for i in range(n):
	n_string.add(input())
    
cnt = 0
for j in range(m):
	m_string = input()
	if m_string in n_string:
    	cnt+=1
print(cnt)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Coding Study/BOJ</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/79</guid>
      <comments>https://dawon-choi.tistory.com/79#entry79comment</comments>
      <pubDate>Mon, 8 Dec 2025 17:02:11 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 10815번 파이썬 _ 숫자카드</title>
      <link>https://dawon-choi.tistory.com/78</link>
      <description>&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;문제&lt;/b&gt;&lt;/h3&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;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt; 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다.&amp;nbsp;정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오.&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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;입력&lt;/b&gt;&lt;/h3&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;첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 &amp;le; N &amp;le; 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는&amp;nbsp;-10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 두 숫자&amp;nbsp;카드에 같은 수가 적혀있는 경우는 없다.&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;셋째 줄에는 M(1 &amp;le; M &amp;le; 500,000)이 주어진다. 넷째 줄에는 상근이가 가지고 있는 숫자 카드인지 아닌지를 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다.&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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;출력&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt; 첫째 줄에 입력으로 주어진 M개의 수에 대해서, 각&amp;nbsp;수가 적힌 숫자 카드를&amp;nbsp;상근이가 가지고 있으면 1을, 아니면 0을 공백으로 구분해 출력한다. &lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드설명&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-end=&quot;1108&quot; data-start=&quot;1093&quot; data-ke-size=&quot;size20&quot;&gt;숫자 카드 등록&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span&gt; i &lt;/span&gt;&lt;span&gt;&lt;span&gt;in&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;range&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;len&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(n_li)): dic[n_li[i]] = &lt;/span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1184&quot; data-start=&quot;1173&quot; data-ke-size=&quot;size16&quot;&gt;이 부분이 핵심이다.&lt;/p&gt;
&lt;p data-end=&quot;1184&quot; data-start=&quot;1173&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1197&quot; data-start=&quot;1186&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;하는 일&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1255&quot; data-start=&quot;1198&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1236&quot; data-start=&quot;1198&quot;&gt;n_li에 있는 숫자를 하나씩 딕셔너리의 &lt;b&gt;key&lt;/b&gt;로 등록&lt;/li&gt;
&lt;li data-end=&quot;1255&quot; data-start=&quot;1237&quot;&gt;value는 의미 없는 0&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1260&quot; data-start=&quot;1257&quot; data-ke-size=&quot;size16&quot;&gt;예시:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;n_li = [&lt;/span&gt;&lt;span&gt;&lt;span&gt;6&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;3&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1300&quot; data-start=&quot;1297&quot; data-ke-size=&quot;size16&quot;&gt;결과:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;dic = {&lt;/span&gt;&lt;span&gt;&lt;span&gt;6&lt;/span&gt;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;3&lt;/span&gt;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;} &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1380&quot; data-start=&quot;1348&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;중복이 있어도 딕셔너리는 자동으로 하나만 유지&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1577&quot; data-start=&quot;1540&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1554&quot; data-start=&quot;1540&quot;&gt;j는 &lt;b&gt;인덱스&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1577&quot; data-start=&quot;1555&quot;&gt;실제 비교되는 값은 m_li[j]&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1588&quot; data-start=&quot;1579&quot; data-ke-size=&quot;size18&quot;&gt;검증 방식&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1644&quot; data-start=&quot;1589&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1644&quot; data-start=&quot;1589&quot;&gt;m_li[j] in dic&lt;br /&gt;&amp;rarr; 해당 숫자가 &lt;b&gt;딕셔너리의 key로 존재하는지 확인&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1765178746030&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sys
input = sys.stdin.readline

n = int(input())
n_li = list(map(int, input().split()))

m = int(input())
m_li = list(map(int, input().split()))

dic = {}

for i in range(len(n_li)):
	dic[n_li[i]] = 0

for j in range(m):
	if m_li[j] in dic:
    	print(1, end = ' ')
    else:
    	print(0, end = ' ')&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Coding Study/BOJ</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/78</guid>
      <comments>https://dawon-choi.tistory.com/78#entry78comment</comments>
      <pubDate>Mon, 8 Dec 2025 16:28:05 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스[Lv.3] 조건에 맞는 사용자 정보 조회하기</title>
      <link>https://dawon-choi.tistory.com/77</link>
      <description>&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;문제설명&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;USED_GOODS_BOARD와&amp;nbsp;USED_GOODS_USER&amp;nbsp;테이블에서&amp;nbsp;중고&amp;nbsp;거래&amp;nbsp;게시물을&amp;nbsp;3건&amp;nbsp;이상&amp;nbsp;등록한&amp;nbsp;사용자의&amp;nbsp;사용자&amp;nbsp;ID,&amp;nbsp;닉네임,&amp;nbsp;전체주소,&amp;nbsp;전화번호를&amp;nbsp;조회하는&amp;nbsp;SQL문을&amp;nbsp;작성해주세요.&amp;nbsp;이때,&amp;nbsp;전체&amp;nbsp;주소는&amp;nbsp;시,&amp;nbsp;도로명&amp;nbsp;주소,&amp;nbsp;상세&amp;nbsp;주소가&amp;nbsp;함께&amp;nbsp;출력되도록&amp;nbsp;해주시고,&amp;nbsp;전화번호의&amp;nbsp;경우&amp;nbsp;xxx-xxxx-xxxx&amp;nbsp;같은&amp;nbsp;형태로&amp;nbsp;하이픈&amp;nbsp;문자열(-)을&amp;nbsp;삽입하여&amp;nbsp;출력해주세요.&amp;nbsp;결과는&amp;nbsp;회원&amp;nbsp;ID를&amp;nbsp;기준으로&amp;nbsp;내림차순&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;USED_GOODS_BOARD&amp;nbsp;테이블&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 327px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 34px;&quot;&gt;
&lt;td style=&quot;width: 12.5%; height: 34px;&quot;&gt;BOARD_ID&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 34px;&quot;&gt;WRITER_ID&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 34px;&quot;&gt;TITLE&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 34px;&quot;&gt;CONTENTS&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 34px;&quot;&gt;PRICE&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 34px;&quot;&gt;CREATED_DATE&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 34px;&quot;&gt;STATUS&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 34px;&quot;&gt;VIEWS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 64px;&quot;&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;B0001&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;dhfkzmf09&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;칼라거펠트&amp;nbsp;코트&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;양모&amp;nbsp;70%이상&amp;nbsp;코트입니다.&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;120000&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;2022-10-14&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;DONE&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;104&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 64px;&quot;&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;B0002&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;lee871201&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;국내산&amp;nbsp;볶음참깨&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;직접&amp;nbsp;농사지은&amp;nbsp;참깨입니다.&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;3000&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;2022-10-02&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;DONE&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 64px;&quot;&gt;121&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 42px;&quot;&gt;
&lt;td style=&quot;width: 12.5%; height: 42px;&quot;&gt;B0003&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 42px;&quot;&gt;dhfkzmf09&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 42px;&quot;&gt;나이키&amp;nbsp;숏패팅&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 42px;&quot;&gt;사이즈는&amp;nbsp;M입니다.&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 42px;&quot;&gt;40000&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 42px;&quot;&gt;2022-10-17&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 42px;&quot;&gt;DONE&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 42px;&quot;&gt;98&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 106px;&quot;&gt;
&lt;td style=&quot;width: 12.5%; height: 106px;&quot;&gt;B0004&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 106px;&quot;&gt;kwag98&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 106px;&quot;&gt;반려견&amp;nbsp;배변패드&amp;nbsp;팝니다&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 106px;&quot;&gt;정말&amp;nbsp;저렴히&amp;nbsp;판매합니다.&amp;nbsp;전부&amp;nbsp;미개봉&amp;nbsp;새상품입니다.&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 106px;&quot;&gt;12000&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 106px;&quot;&gt;2022-10-01&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 106px;&quot;&gt;DONE&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 106px;&quot;&gt;250&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5%; height: 17px;&quot;&gt;B0005&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 17px;&quot;&gt;dhfkzmf09&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 17px;&quot;&gt;PS4&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 17px;&quot;&gt;PS5&amp;nbsp;구매로인해&amp;nbsp;팝니다.&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 17px;&quot;&gt;250000&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 17px;&quot;&gt;2022-11-03&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 17px;&quot;&gt;DONE&lt;/td&gt;
&lt;td style=&quot;width: 12.5%; height: 17px;&quot;&gt;111&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;USED_GOODS_USER&amp;nbsp;테이블&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;USER_ID&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;NICKNAME&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;CITY&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;STREET_ADDRESS1&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;STREET_ADDRESS2&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;TLNO&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;dhfkzmf09&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;찐찐&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;성남시&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;분당구&amp;nbsp;수내로&amp;nbsp;13&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;A동&amp;nbsp;1107호&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;01053422914&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;dlPcks90&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;썹썹&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;성남시&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;분당구 수내로 74&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;401호&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;01034573944&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;cjfwls91&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;점심만금식&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;성남시&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;분당구&amp;nbsp;내정로&amp;nbsp;185&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;501호&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;01036344964&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;dlfghks94&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;희망&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;성남시&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;분당구 내정로 101&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;203동&amp;nbsp;102호&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;01032634154&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;rkdhs95&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;용기&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;성남시&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;분당구&amp;nbsp;수내로&amp;nbsp;23&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;501호&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%;&quot;&gt;01074564564&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SQL을&amp;nbsp;실행하면&amp;nbsp;다음과&amp;nbsp;같이&amp;nbsp;출력되어야&amp;nbsp;합니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;USER_ID&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;NICKNAME&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;전체주소&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;전화번호&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;dhfkzmf09&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;찐찐&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;성남시&amp;nbsp;분당구&amp;nbsp;수내로&amp;nbsp;13&amp;nbsp;A동&amp;nbsp;1107호&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;010-5342-2914&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드설명&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. &lt;/b&gt;SELECT 조회할 컬럼 선택&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;845&quot; data-start=&quot;815&quot;&gt;USER_ID, NICKNAME을 가져온다.&lt;/li&gt;
&lt;li data-end=&quot;953&quot; data-start=&quot;846&quot;&gt;CONCAT() 을 이용해서 CITY + STREET_ADDRESS1 + STREET_ADDRESS2 를 하나의 문자열로 합침&lt;br /&gt;&amp;rarr; 즉, &lt;b&gt;전체 주소를 한 줄로 보여주는 형태&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1070&quot; data-start=&quot;954&quot;&gt;전화번호는 01012345678 형태의 숫자를&lt;br /&gt;010-1234-5678로 보기 좋게 가공
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1070&quot; data-start=&quot;1016&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1039&quot; data-start=&quot;1016&quot;&gt;SUBSTR(문자열,&amp;nbsp;시작_위치,&amp;nbsp;길이) 로 위치별로 나누고&lt;/li&gt;
&lt;li data-end=&quot;1070&quot; data-start=&quot;1042&quot;&gt;CONCAT() 로 - 을 삽입하여 조합&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; &lt;b&gt;FORMAT()은 숫자를 천 단위 콤마 형식(예: 10,000.00)&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;2. GROUP BY&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1449&quot; data-start=&quot;1408&quot;&gt;같은 사용자라도 게시글을 여러 개 작성하면 여러 행으로 나올 수 있다.&lt;/li&gt;
&lt;li data-end=&quot;1490&quot; data-start=&quot;1450&quot;&gt;ID 기준으로 그룹을 묶어서 &lt;b&gt;사용자별로 하나의 집합으로 만들기&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. HAVING COUNT(*) &amp;gt;= 3&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1573&quot; data-start=&quot;1561&quot;&gt;그룹화된 사용자 중&lt;/li&gt;
&lt;li data-end=&quot;1602&quot; data-start=&quot;1574&quot;&gt;&lt;b&gt;게시글 수가 3개 이상인 사용자만 남긴다&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1667&quot; data-start=&quot;1603&quot;&gt;WHERE 대신 HAVING을 사용하는 이유 : GROUP BY 이후의 결과에 조건을 걸기 때문&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1764037802188&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT U.USER_ID, U.NICKNAME, CONCAT(U.CITY,' ',U.STREET_ADDRESS1,' ',U.STREET_ADDRESS2) AS 전체주소,
CONCAT(SUBSTR(U.TLNO,1,3),'-',SUBSTR(U.TLNO,4,4),'-',SUBSTR(U.TLNO,8)) AS 전화번호
FROM USED_GOODS_USER U
JOIN USED_GOODS_BOARD B ON U.USER_ID = B.WRITER_ID	
GROUP BY U.USER_ID
HAVING COUNT(*) &amp;gt;= 3
ORDER BY USER_ID DESC&lt;/code&gt;&lt;/pre&gt;</description>
      <category>SQL Study/Programmers</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/77</guid>
      <comments>https://dawon-choi.tistory.com/77#entry77comment</comments>
      <pubDate>Tue, 25 Nov 2025 11:38:00 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스[Lv.3] 대여 기록이 존재하는 자동차 리스트 구하기</title>
      <link>https://dawon-choi.tistory.com/76</link>
      <description>&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;문제설명&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 자동차 종류가 '세단'인 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID 리스트를 출력하는 SQL문을 작성해주세요. 자동차 ID 리스트는 중복이 없어야 하며, 자동차 ID를 기준으로 내림차순 정렬해주세요.&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;CAR_RENTAL_COMPANY_CAR&amp;nbsp;테이블&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;CAR_ID&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;CAR_TYPE&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;DAILY_FEE&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;OPTIONS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;세단&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;16000&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;가죽시트,열선시트,후방카메라&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;SUV&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;14000&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;스마트키,열선시트,후방카메라&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;세단&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;22000&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;주차감지센서,후방카메라,가죽시트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;세단&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;12000&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;주차감지센서&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;CAR_RENTAL_COMPANY_RENTAL_HISTORY&amp;nbsp;테이블&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;HISTORY_ID&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;CAR_ID&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;START_DATE&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;END_DATE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-09-27&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-09-27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-10-03&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-10-04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-10-05&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-10-05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-10-11&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-10-14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-10-13&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;2022-10-15&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10월에&amp;nbsp;대여를&amp;nbsp;시작한&amp;nbsp;기록이&amp;nbsp;있는&amp;nbsp;'세단'&amp;nbsp;종류의&amp;nbsp;자동차는&amp;nbsp;자동차&amp;nbsp;ID가&amp;nbsp;1,&amp;nbsp;3&amp;nbsp;인&amp;nbsp;자동차이고,&amp;nbsp;자동차&amp;nbsp;ID를&amp;nbsp;기준으로&amp;nbsp;내림차순&amp;nbsp;정렬하면&amp;nbsp;다음과&amp;nbsp;같이&amp;nbsp;나와야&amp;nbsp;합니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 15.1163%; height: 92px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;CAR_ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. JOIN을 이용해 두 테이블 모두 존재하는 CAR_ID를 기준으로 &lt;b&gt;매칭&lt;/b&gt;한다&lt;/p&gt;
&lt;p data-end=&quot;1023&quot; data-start=&quot;1007&quot; data-ke-size=&quot;size16&quot;&gt;그래서 결과는:&lt;/p&gt;
&lt;blockquote data-end=&quot;1088&quot; data-start=&quot;1025&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1088&quot; data-start=&quot;1027&quot; data-ke-size=&quot;size16&quot;&gt;&amp;ldquo;대여 기록이 있는 모든 차량에 대해,&lt;br /&gt;각 대여 기록마다 차 정보 + 히스토리 정보가 합쳐진 행들&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;1023&quot; data-start=&quot;1007&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1023&quot; data-start=&quot;1007&quot; data-ke-size=&quot;size16&quot;&gt;2. ① CAR_TYPE = '세단'&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1343&quot; data-start=&quot;1237&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1308&quot; data-start=&quot;1237&quot;&gt;CAR_RENTAL_COMPANY_CAR 테이블(C)에 있는 CAR_TYPE 컬럼이 '세단'인 차량만 남긴다.&lt;/li&gt;
&lt;li data-end=&quot;1343&quot; data-start=&quot;1309&quot;&gt;즉, SUV, 트럭, 승합차 같은 다른 차종은 전부 제외.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1407&quot; data-start=&quot;1377&quot; data-ke-size=&quot;size16&quot;&gt;② MONTH(START_DATE) = 10&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1512&quot; data-start=&quot;1409&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1477&quot; data-start=&quot;1409&quot;&gt;START_DATE에서 &lt;b&gt;월(MONTH)&lt;/b&gt; 부분만 뽑아서, 그 값이 &lt;b&gt;10 (10월)&lt;/b&gt; 인 데이터만 남긴다.&lt;/li&gt;
&lt;li data-end=&quot;1512&quot; data-start=&quot;1478&quot;&gt;즉, 1월~9월, 11~12월에 대여된 이력은 전부 제외.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1023&quot; data-start=&quot;1007&quot; data-ke-size=&quot;size16&quot;&gt;3. &lt;b&gt;SELECT DISTINCT&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2809&quot; data-start=&quot;2736&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2762&quot; data-start=&quot;2736&quot;&gt;남아 있는 행들에서 CAR_ID만 뽑되,&lt;/li&gt;
&lt;li data-end=&quot;2809&quot; data-start=&quot;2766&quot;&gt;같은 차량이 여러 번 대여되었어도 &lt;b&gt;한 번만&lt;/b&gt; 보이도록 중복 제거한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. &lt;b&gt;ORDER BY&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2866&quot; data-start=&quot;2829&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2866&quot; data-start=&quot;2829&quot;&gt;최종 CAR_ID 목록을 &lt;b&gt;내림차순&lt;/b&gt;으로 정렬해서 보여준다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1764033726800&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT DISTINCT(C.CAR_ID)
FROM CAR_RENTAL_COMPANY_CAR C
JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY H ON C.CAR_ID = H.CAR_ID
WHERE CAR_TYPE = '세단' AND MONTH(START_DATE) = 10
ORDER BY CAR_ID DESC&lt;/code&gt;&lt;/pre&gt;</description>
      <category>SQL Study/Programmers</category>
      <author>choidawon</author>
      <guid isPermaLink="true">https://dawon-choi.tistory.com/76</guid>
      <comments>https://dawon-choi.tistory.com/76#entry76comment</comments>
      <pubDate>Tue, 25 Nov 2025 10:37:25 +0900</pubDate>
    </item>
  </channel>
</rss>