<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Blog</title>
    <link>https://juvlog.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 11 Jun 2026 17:53:30 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>IlikeSummer</managingEditor>
    <item>
      <title>2026년 3월 LG유플러스 신입채용 가상인턴십(구 무너위크) 후기</title>
      <link>https://juvlog.tistory.com/36</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;인적성 전형을 통과한 뒤 LG유플러스 가상인턴십에 참여하게 되었다. 가상인턴십은 다른 기업에서는 쉽게 찾아보기 어려운 LG유플러스만의 독특한 채용 전형이라 준비 과정에서 참고할 수 있는 정보가 많지 않아 걱정이 컸다. 나 역시 관련 후기를 찾아보며 궁금증이 많았던 만큼 같은 전형을 준비하는 분들에게 조금이나마 도움이 되었으면 하는 마음으로 경험한 내용을 최대한 상세하게 정리해보려고 한다.&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;2026 LG유플러스 상반기 신입 채용 전형은 아래와 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;847&quot; data-origin-height=&quot;570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q68rS/dJMcaf7TvbY/CNN8kvIE9TAf3E2CK5i4MK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q68rS/dJMcaf7TvbY/CNN8kvIE9TAf3E2CK5i4MK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q68rS/dJMcaf7TvbY/CNN8kvIE9TAf3E2CK5i4MK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq68rS%2FdJMcaf7TvbY%2FCNN8kvIE9TAf3E2CK5i4MK%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;847&quot; height=&quot;570&quot; data-origin-width=&quot;847&quot; data-origin-height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; 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;style2&quot; /&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;1.&amp;nbsp; LG인적성검사 &amp;amp; essay&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;인적성은 LG WAY FIT TEST로 진행된다. 삼성 GSAT을 준비해본 적 있다면 비슷한 유형이라 무난하게 접근할 수 있다.&lt;br /&gt;Essay는 정해진 시간 내에 주제에 맞게 작성하는 방식이다. 지원 직무, 기업 관련 내용, 전공 키워드 등을 미리 정리해두면 도움이 많이 될 듯하다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;2. 가상인턴십 비대면 프로그램 (1 ~ 3일차)&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;LG 유플러스 가상 인턴십이란 이전에 진행하던 인턴십을 4일에 걸쳐 짧게 진행하는 평가 프로그램이다. 가상인턴십 스케줄은 평일반(수목금) / 주말반(금토일) 로 나뉘어 3일간 온라인으로 진행한 후, 이 내용을 바탕으로 평일 하루 면접을 진행한다. 2026년 상반기 기준 면접은 월요일에 진행되었다.&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;가상인턴십은 크게 6개의 활동으로 이루어져 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AI 직무면접&lt;/li&gt;
&lt;li&gt;AI 공통과제&lt;/li&gt;
&lt;li&gt;직무 PT&lt;/li&gt;
&lt;li&gt;업무해결과제&lt;/li&gt;
&lt;li&gt;토의 면접&lt;/li&gt;
&lt;li&gt;멘토링 과제&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;2026년 기준 해당 과제들은 아래와 같이 진행되었다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 93.1395%; height: 158px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style8&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;1일차&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;2일차&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;3일차&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;AI 직무면접&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;AI 공통과제&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;업무해결과제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;직무 PT&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;토의면접&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center; height: 21px;&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;1668&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LqayW/dJMcaglsGhA/sNVQpTFiCXQCidIqVfI2NK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LqayW/dJMcaglsGhA/sNVQpTFiCXQCidIqVfI2NK/img.png&quot; data-alt=&quot;매 전형 안내문자&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LqayW/dJMcaglsGhA/sNVQpTFiCXQCidIqVfI2NK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLqayW%2FdJMcaglsGhA%2FsNVQpTFiCXQCidIqVfI2NK%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;282&quot; height=&quot;399&quot; data-origin-width=&quot;1179&quot; data-origin-height=&quot;1668&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;매 전형 안내문자&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인턴십 하루 전 메일과 문자로 상세한 안내가 전달되며, 이후 Microsoft Teams 초대를 통해 전형이 진행된다. 전형 기간 동안 일정이 상당히 촘촘하게 구성되어 있지만, LG유플러스에서 주요 일정과 안내사항을 문자로 수시로 공유해 주기 때문에 놓치는 부분 없이 전형에 참여할 수 있었다. 전반적으로 지원자가 일정에만 집중할 수 있도록 운영 체계가 잘 갖춰져 있다는 인상을 받았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;1)&amp;nbsp; AI 직무면접&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;LG유플러스 자체 시스템을 활용한 AI 가상면접이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;제한된 시간 안에 답변해야 하며 예상보다 직무와 관련된 질문 비중이 높았다. 단순한 인성 질문보다는 지원 직무에서 요구하는 역량과 경험을 확인하는 질문이 주를 이뤘다. 따라서 JD를 꼼꼼히 읽어보고, 해당 직무에 필요한 역량이 무엇인지, 본인의 경험을 어떻게 연결할지 미리 정리해두는 것이 도움이 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;2)&amp;nbsp; AI 공통과제&lt;/h4&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;총 2번 진행되는 보고서 작성 과제다.&lt;br /&gt;&lt;br /&gt;&amp;bull; 1차: 방대한 자료를 주고, AI 없이 정해진 시간 내 보고서 작성&lt;br /&gt;&amp;bull; 2차: 같은 자료를 주고, AI를 활용해서 보고서 작성&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;두 과제는 동일한 자료를 활용하지만 내용이 이어지는 방식은 아니다. 따라서 2차 과제도 처음부터 새롭게 작성해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;개인적으로 인상 깊었던 전형 중 하나였다. AI를 활용한 결과물의 완성도가 예상보다 높았고, 단순히 AI 사용 여부를 보는 것이 아니라 AI를 얼마나 효과적으로 활용하는지 자체를 평가하는 느낌을 받았다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;3) 직무 PT&lt;/h4&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;방대한 자료를 제공하고, 이를 바탕으로 보고서를 작성한 뒤 면접날 발표하는 과제다.&lt;br /&gt;&lt;br /&gt;&amp;bull; 보고서 작성: 60분&lt;br /&gt;&amp;bull; 발표 준비(= 작성 내용 기억하는 시간): 30분&lt;br /&gt;&amp;bull; 면접 당일: 5분 PT + 질의응답&lt;br /&gt;&lt;br /&gt;중요한 점은 작성 후 보고서를 다시 볼 수 없다는 것이다. 그래서 보고서 작성 단계에서부터 &amp;ldquo;내가 이걸 어떻게 발표할지&amp;rdquo;를 염두에 두고 써야 한다. 작성한 보고서의 어떤 포인트를 강조할지, 논리 흐름이 발표하기 편한지 고민하면서 작성하는 걸 추천한다.&lt;br /&gt;모든 지원자가 동일한 자료를 받기 때문에 결론이 비슷하더라도 내가 왜 그 결론을 냈는지 논리를 얼마나 설득력 있게 전달하느냐가 핵심이라고 느꼈.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;4) 업무해결과제&lt;/h4&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;내가 한 기업의 사원이라고 가정하고, 주어진 다양한 업무들의 우선순위를 정하는 과제다.&lt;br /&gt;자료 안에 각 업무의 현재 상태, 마감 시간, 중요도 등 다양한 정보가 포함되어 있다. 이를 종합적으로 판단해서 우선순위를 매기면 된다.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;주의할 점: 이메일을 실제로 보내거나, 문제를 내가 직접 해결해야 하는 과제가 아니다. 나는 처음에 과제를 잘못 이해해서 혼란이 있었는데, 과제의 목적이 무엇인지 정확히 파악하고 시작하는 게 중요하다. 여유 있게 전체 자료를 먼저 파악하고 접근하길 권한다.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;5) 토의 면접&lt;/h4&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;AI 공통과제 2차(AI 활용 버전)의 보고서를 가지고 조별 토론 + 발표를 진행하는 과제다.&lt;br /&gt;&lt;br /&gt;&amp;bull; 팀별로 일정 시간 토의 후 발표 방향 정리&lt;br /&gt;&amp;bull; 역할 분담 후 발표&lt;br /&gt;&amp;bull; 이후 질의응답&lt;br /&gt;&lt;br /&gt;&lt;span&gt;모든 팀이 동일한 자료를 기반으로 논의를 진행하기 때문에 자료 분석 자체보다는 어떤 인사이트를 제시하는지가 중요했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;짧은 시간 안에 팀원들과 의견을 조율해야 하므로 자신의 생각을 명확하게 전달하는 능력과 다른 의견을 수용하는 태도가 모두 요구된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;6) 멘토링 과제&lt;/h4&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;가상인턴십의 핵심이라고 생각한다.&lt;br /&gt;&lt;br /&gt;지원자마다 각자 다른 주제가 주어지고, 현직 LG유플러스 멘토님이 1:1로 배정된다. 3일 안에 과제를 수행해서 보고서 및 PPT를 제출해야 하며, 이 결과물을 면접 당일 PT로 발표한다.&lt;br /&gt;&lt;br /&gt;프로그램 일정 사이의 공백 시간을 활용해 과제를 진행해야 하기 때문에 시간 관리가 매우 중요하다. 주제 역시 실제 업무와 밀접한 내용으로 구성되어 있어 짧은 기간 안에 완성하기 쉽지 않았다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;다만 멘토님과의 미팅을 통해 중간중간 방향성을 점검받을 수 있었고, 실무 관점에서 피드백을 받을 수 있다는 점이 큰 도움이 되었다. 모르는 부분이 있다면 혼자 고민하기보다 적극적으로 질문하는 것이 훨씬 효율적이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Oe4Za/dJMcafz7F8k/n0IQe1KSQo6SXBuNpeO3Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Oe4Za/dJMcafz7F8k/n0IQe1KSQo6SXBuNpeO3Kk/img.png&quot; data-alt=&quot;LG유플러스 2026년 1분기 실적발표 자료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Oe4Za/dJMcafz7F8k/n0IQe1KSQo6SXBuNpeO3Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOe4Za%2FdJMcafz7F8k%2Fn0IQe1KSQo6SXBuNpeO3Kk%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;688&quot; height=&quot;384&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;LG유플러스 2026년 1분기 실적발표 자료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;PPT는 자유 양식이기 때문에 나는 LG유플러스 2026년 1분기 실적발표 자료를 참고해 구성과 디자인을 준비했다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style2&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;3. 대면 면접 (4일차)&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;1차 면접은 가상인턴십 이후 월요일에 진행되었다.&lt;br /&gt;따라서 평일반은 면접 준비에 이틀의 시간이, 주말반은 인턴십 직후에 바로 면접을 진행했다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2268&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc8pSv/dJMcah5NzRK/95480hMfD3kULxpfj03TWK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc8pSv/dJMcah5NzRK/95480hMfD3kULxpfj03TWK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc8pSv/dJMcah5NzRK/95480hMfD3kULxpfj03TWK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc8pSv%2FdJMcah5NzRK%2F95480hMfD3kULxpfj03TWK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;589&quot; height=&quot;331&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2268&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2268&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CRnYR/dJMcah5NzRL/NkNykKsUc4d25xqzMwKx3K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CRnYR/dJMcah5NzRL/NkNykKsUc4d25xqzMwKx3K/img.jpg&quot; data-alt=&quot;케이터링&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CRnYR/dJMcah5NzRL/NkNykKsUc4d25xqzMwKx3K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCRnYR%2FdJMcah5NzRL%2FNkNykKsUc4d25xqzMwKx3K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;594&quot; height=&quot;334&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2268&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;케이터링&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;들어가면 케이터링이 준비되어 있고 선물을 하나씩 주신다. 케이터링은 빵, 샌드위치, 과일, 음료수 등 다양하게 준비되어 있었 고 정말 맛있었다. 특히 하몽메론이랑 레몬마들렌이 너무 맛있어서 먹으면서 긴장을 풀었던 것 같다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;1416&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYlC2W/dJMb99Nm7Hn/P5AeiahrpynKaSZJIAks7K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYlC2W/dJMb99Nm7Hn/P5AeiahrpynKaSZJIAks7K/img.jpg&quot; data-alt=&quot;면접 선물키트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYlC2W/dJMb99Nm7Hn/P5AeiahrpynKaSZJIAks7K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYlC2W%2FdJMb99Nm7Hn%2FP5AeiahrpynKaSZJIAks7K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;366&quot; height=&quot;461&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;1416&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;면접 선물키트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;선물 구성품이 참 좋았는데, 특히 6 in 1 케이블을 아주 잘 쓰고 있다. 이 외에도 이클립스나 비타민, 립밤 등을 세심하게 넣어주셔서 면접 도중 잘 사용하고 왔다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;&lt;span&gt;&lt;/span&gt;&lt;span&gt;면접은 총 1시간 동안 진행되며 다음과 같이 구성된다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;인성면접: 30분&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;직무면접: 30분&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;1) 인성 면접&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;인성면접은 자기소개서 기반의 질문이 주를 이뤘다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;지원 동기, 경험, 가치관 등 일반적인 인성 질문들이 중심이었으며, 면접관분들도 비교적 편안한 분위기에서 대화를 이끌어주셔서 부담 갖지 않고 답변했던 것 같다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;압박 면접보다는 지원자의 생각과 경험을 확인하는 느낌에 가까웠다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;2) 직무 면접&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;직무면접은 가상인턴십 기간 동안 수행했던 직무 PT와 멘토링 과제를 발표하는 방식으로 진행된다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;직무 PT 발표: 5분&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;질의응답: 10분&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;멘토링 과제 발표: 5분&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;질의응답: 10분&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;발표 이후에는 과제 내용과 관련된 질의응답이 이어진다. 따라서 본인이 작성한 보고서와 PPT 내용을 충분히 숙지하고 가는 것이 중요하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;특히 왜 해당 결론을 도출했는지, 어떤 근거를 활용했는지, 제안한 방안의 기대 효과는 무엇인지 등 기술적&amp;middot;논리적 질문이 나올 수 있으므로 예상 질문을 미리 정리해보는 것을 추천한다. 또한 멘토링 과제 PPT와 자기소개서 내용도 함께 복기해두면 면접 준비에 큰 도움이 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2268&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eGsCYY/dJMb99Nm7Ho/AKTbCKeAxuTIfz2K51bUUK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eGsCYY/dJMb99Nm7Ho/AKTbCKeAxuTIfz2K51bUUK/img.jpg&quot; data-alt=&quot;해당 표시를 따라가면 면접장에 도착한다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eGsCYY/dJMb99Nm7Ho/AKTbCKeAxuTIfz2K51bUUK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeGsCYY%2FdJMb99Nm7Ho%2FAKTbCKeAxuTIfz2K51bUUK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;675&quot; height=&quot;380&quot; data-origin-width=&quot;4032&quot; data-origin-height=&quot;2268&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;해당 표시를 따라가면 면접장에 도착한다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;해당 면접이 끝나고 사내 카페 쿠폰을 하나씩 주신다.&lt;br /&gt;카페에 가서 원하는 음료 하나씩 시키고 다시 면접장으로 돌아와 마시면서 설문조사 후 귀가하면 된다.&lt;br /&gt;나는 후기에 맛있었다는 토마토 주스를 마셨는데 진짜 시원하고 맛있었다.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; 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;style2&quot; /&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;4. 가상 인턴십 소감&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span data-me-change=&quot;delta&quot;&gt;이처럼 전반적인 LG유플러스 가상인턴십 전형을 진행했다.&lt;/span&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&gt;&lt;span data-me-change=&quot;delta&quot;&gt;가상인턴십은 짧은 면접 하나로 평가받는 것과 달리 다양한 과제와 과정을 통해 역량을 입체적으로 보여줄 수 있다는 점이 장점이다. 한 번 실수해도 다른 활동에서 만회할 수 있다는 마음으로 임하는 게 멘탈 관리에 좋다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span data-me-change=&quot;delta&quot;&gt;다만 정말 체력 소모가 크다. 3일 내내 집중력을 요구하는 과제들이 이어지는데 멘토링 과제까지 병행해야 하기 때문에 쉬는 시간이 거의 없다.&lt;/span&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&gt;&lt;span data-me-change=&quot;delta&quot;&gt;그래도 준비 과정에서 하나하나 세심함이 느껴졌고, &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;인사팀에서 일정과 안내사항을 꼼꼼하게 관리해 주신 덕분에 불필요한 혼란 없이 과제에 집중할 수 있었다. &lt;/span&gt;각 과제의 주제와 자료들도 LG유플러스가 실제 사업 및 현안과 밀접하게 연결되어 있어 회사와 직무에 대한 이해도를 높이는 데 도움이 됐다. 또한 멘토링 과제를 통해 현직자와 직접 소통하며 피드백을 받을 수 있었던 점도 인상적이었다. 단순히 평가를 받는 채용 전형이라기보다 현업을 간접적으로 경험해볼 수 있는 프로그램에 가깝다고 느껴졌다.&lt;/span&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&gt;&lt;span data-me-change=&quot;delta&quot;&gt; 덕분에 4일 동안 쉽지 않은 일정이었지만 의미 있고 즐겁게 참여할 수 있었던 것 같다. &lt;/span&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-origin-width=&quot;350&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFVnU5/dJMcagse9U1/Br9nlEQKRSrbm8Y01oy6S0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFVnU5/dJMcagse9U1/Br9nlEQKRSrbm8Y01oy6S0/img.jpg&quot; data-alt=&quot;LG 유플러스 마스코트 무너&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFVnU5/dJMcagse9U1/Br9nlEQKRSrbm8Y01oy6S0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFVnU5%2FdJMcagse9U1%2FBr9nlEQKRSrbm8Y01oy6S0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;350&quot; height=&quot;350&quot; data-origin-width=&quot;350&quot; data-origin-height=&quot;350&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;LG 유플러스 마스코트 무너&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span data-me-change=&quot;delta&quot;&gt;준비하시는 분들 모두 좋은 결과 있으시길!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>면접</category>
      <category>LG유플러스</category>
      <category>lg유플러스면접</category>
      <category>면접</category>
      <category>면접후기</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/36</guid>
      <comments>https://juvlog.tistory.com/36#entry36comment</comments>
      <pubDate>Sun, 7 Jun 2026 17:53:01 +0900</pubDate>
    </item>
    <item>
      <title>[python] 금융 뉴스 크롤링</title>
      <link>https://juvlog.tistory.com/35</link>
      <description>&lt;h3 data-end=&quot;555&quot; data-start=&quot;538&quot; data-ke-size=&quot;size23&quot;&gt;  Python 크롤러&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;628&quot; data-start=&quot;556&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;584&quot; data-start=&quot;556&quot;&gt;&lt;b&gt;IDE&lt;/b&gt;: VSCode 또는 PyCharm&lt;/li&gt;
&lt;li data-end=&quot;628&quot; data-start=&quot;585&quot;&gt;&lt;b&gt;설치 라이브러리&lt;/b&gt;: requests, BeautifulSoup&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1748955429631&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install requests beautifulsoup4&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;터미널에서 해당 명령어 입력 &amp;gt; 설치&lt;/div&gt;
&lt;hr data-end=&quot;910&quot; data-start=&quot;907&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;929&quot; data-start=&quot;912&quot; data-ke-size=&quot;size26&quot;&gt;크롤링 코드&lt;/h2&gt;
&lt;h3 data-end=&quot;964&quot; data-start=&quot;931&quot; data-ke-size=&quot;size23&quot;&gt;Python 버전 (네이버 뉴스 제목 가져오기)&lt;/h3&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1748955725068&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import requests
from bs4 import BeautifulSoup

url = 'https://news.naver.com/section/101'
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')

titles = soup.select('div.sa_text &amp;gt; a.sa_text_title')
for title in titles:
    print(title.get_text(strip=True))&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1731&quot; data-start=&quot;1728&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;pre id=&quot;code_1748955878240&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import requests&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;requests 라이브러리를 불러오는 코드&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1748955895894&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from bs4 import BeautifulSoup&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;BeautifulSoup은 HTML 문서를 구조적으로 파싱(해석) 해서 원하는 태그를 쉽게 찾게 도와주는 라이브러리&lt;br /&gt;requests로 가져온 HTML을 분석하기 위해 사용&lt;br /&gt;HTML의 DOM 구조를 트리 구조로 바꿔줘서 쉽게 탐색&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1748956010597&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;url = 'https://news.naver.com/section/101'
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;지정한 URL로 요청을 보내서, 응답(response) 을 받아와 res에 저장&lt;br /&gt;res.text를 통해 HTML 전체 소스를 문자열로 받음&lt;br /&gt;응답받은 HTML 문자열을 BeautifulSoup 객체로 변환 &amp;gt; soup은 이제 HTML을 탐색 가능한 형태&lt;br /&gt;'html.parser'는 기본 파서로, HTML 구조를 해석해주는 도구&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1748956124006&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;titles = soup.select('div.sa_text &amp;gt; a.sa_text_title')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;select()는 CSS 선택자를 이용해서 원하는 태그들만 추출하는 함수&lt;br /&gt;'div.sa_text &amp;gt; a.sa_text_title' 는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; &amp;lt;div class=&quot;sa_text&quot;&amp;gt; 안에 있는 &amp;rarr; &amp;lt;a class=&quot;sa_text_title&quot;&amp;gt; 태그들을 모두 선택한다는 의미&lt;br /&gt;&amp;gt;&amp;gt; 이 부분이 크롤링의 핵심! 원하는 뉴스 제목이 어디에 있는지를 정확히 알아야 함. &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1748956219385&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for title in titles:
    print(title.get_text(strip=True))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;크롤링한 뉴스 제목들 리스트인 titles를 하나씩 순회(for loop) 하면서 반복 &amp;gt; 각 title에서 텍스트만 뽑아서 출력&lt;br /&gt;.get_text() &amp;rarr; 태그 안의 글자만 추출 &lt;br /&gt;strip=True &amp;rarr; 앞뒤 공백 문자 제거&lt;/p&gt;
&lt;hr data-end=&quot;1666&quot; data-start=&quot;1663&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1682&quot; data-start=&quot;1668&quot; data-ke-size=&quot;size26&quot;&gt;전체 흐름 요약&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1771&quot; data-start=&quot;1684&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1707&quot; data-start=&quot;1684&quot;&gt;웹페이지에서 HTML 코드를 가져오고&lt;/li&gt;
&lt;li data-end=&quot;1740&quot; data-start=&quot;1708&quot;&gt;HTML 구조를 BeautifulSoup으로 분석해서&lt;/li&gt;
&lt;li data-end=&quot;1758&quot; data-start=&quot;1741&quot;&gt;뉴스 제목 태그만 골라내고&lt;/li&gt;
&lt;li data-end=&quot;1771&quot; data-start=&quot;1759&quot;&gt;텍스트만 출력&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>개발</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/35</guid>
      <comments>https://juvlog.tistory.com/35#entry35comment</comments>
      <pubDate>Tue, 3 Jun 2025 22:18:09 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 1238 파티 파이썬</title>
      <link>https://juvlog.tistory.com/34</link>
      <description>&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 학습 키워드&lt;/b&gt;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다익스트라&lt;/blockquote&gt;
&lt;h4 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;문제&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1238&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/1238&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1186&quot; data-origin-height=&quot;547&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBZeE9/btsNIAd29Fv/Lbmz1Y310k0l89WVWRhlL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBZeE9/btsNIAd29Fv/Lbmz1Y310k0l89WVWRhlL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBZeE9/btsNIAd29Fv/Lbmz1Y310k0l89WVWRhlL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBZeE9%2FbtsNIAd29Fv%2FLbmz1Y310k0l89WVWRhlL1%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;1186&quot; height=&quot;547&quot; data-origin-width=&quot;1186&quot; data-origin-height=&quot;547&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;코드&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;정답 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1746095246614&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import heapq
INF = int(1e9)
n, m, x = map(int, input().split())
graph = [[] for i in range(n+1)]
for _ in range(m):
    a, b, l = map(int, input().split())
    graph[a].append((b, l))

def dijkstra(start, end):
    q = []
    distance = [INF] * (n+1)
    heapq.heappush(q, (0, start))
    distance[start] = 0
    while q:
        dist, node = heapq.heappop(q)
        if distance[node] &amp;lt; dist:
            continue
        for new in graph[node]:
            new_dist = distance[node] + new[1]
            if new_dist &amp;lt; distance[new[0]]:
                distance[new[0]] = new_dist
                heapq.heappush(q, (new_dist, new[0]))
    return distance[end]

answer = 0

for i in range(1, n+1):
    if i == x:
        continue
    answer = max(answer, dijkstra(i, x) + dijkstra(x, i))

print(answer)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;해당 문제는 n명의 학생이 x 마을에 단방향 도로를 사용해서 왕복하는 최단 거리를 계산하고, 학생들 중 가장 많은 거리를 간 학생의 이동 값을 구하는 문제이다. 출발지와 목적지가 정해져 있고 최단 거리를 계산한다는 점에서 '다익스트라' 알고리즘이다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;학생의 이동거리는 집 =&amp;gt; x마을 =&amp;gt; 집 임으로 다익스트라 계산을 통해 모든 노드 =&amp;gt; x, x =&amp;gt; 모든 노드 값을 구해야 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 다익스트라 코드를 구현한다. 아래 코드는 기본 다익스트라 코드이다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;기본 다익스트라 코드(백준 1753 최단경로)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1746095512596&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import heapq
import sys
input = sys.stdin.readline
INF = int(1e9)

v, e = map(int, input().split())
k = int(input())
graph = [[] for i in range(v+1)]
for _ in range(e):
    a, b, c = map(int, input().split())
    graph[a].append((b, c))

distance = [INF] * (v+1)

def dijkstra(start):
    q = []
    heapq.heappush(q, (0, start))
    distance[start] = 0
    while q:
        dist, b = heapq.heappop(q)
        if distance[b] &amp;lt; dist:
            continue
        for i in graph[b]:
            cost = dist + i[1]
            if cost &amp;lt; distance[i[0]]:
                distance[i[0]] = cost
                heapq.heappush(q, (cost, i[0]))

dijkstra(k)

for i in range(1, v+1):
    if distance[i] == INF:
        print(&quot;INF&quot;)
    else:
        print(distance[i])&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;해당 코드를 응용해서 다익스트라 알고리즘을 짠 다음, 마을의 크기만큼 for문을 돌면서 각 마을에서 x마을까지의 값과, x마을에서 각 마을의 값을 각자 구해 이를 더해준다. 이후 최대값을 지속적으로 업데이트 해주며 이동한 값이 가장 많은 학생의 이동값을 갱신해준다.&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/백준</category>
      <category>#코딩테스트준비 #개발자취업</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/34</guid>
      <comments>https://juvlog.tistory.com/34#entry34comment</comments>
      <pubDate>Thu, 1 May 2025 19:34:15 +0900</pubDate>
    </item>
    <item>
      <title>[99클럽 코테 스터디 20일차 TIL + dfs/bfs] 백준 17265 나의 인생에는 수학과 함께 파이썬</title>
      <link>https://juvlog.tistory.com/33</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf1vLe%2FbtsM2Ww4ds9%2FkXB6v9Z7yzbZPsk2Zekxyk%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;1080&quot; height=&quot;600&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 학습 키워드&lt;/b&gt;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;dfs+bfs&lt;/blockquote&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;공부한 내용 본인의 언어로 정리하기&lt;/b&gt;&lt;/h3&gt;
&lt;h4 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;문제&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/17265&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/17265&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1085&quot; data-origin-height=&quot;882&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IYelr/btsNB9BpHUI/dfSQi3oiNdWkgGvZf9YYN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IYelr/btsNB9BpHUI/dfSQi3oiNdWkgGvZf9YYN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IYelr/btsNB9BpHUI/dfSQi3oiNdWkgGvZf9YYN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIYelr%2FbtsNB9BpHUI%2FdfSQi3oiNdWkgGvZf9YYN1%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;1085&quot; height=&quot;882&quot; data-origin-width=&quot;1085&quot; data-origin-height=&quot;882&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;코드&lt;/h4&gt;
&lt;pre id=&quot;code_1745750103614&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from collections import deque

n = int(input())
arr = []
for _ in range(n):
    arr.append(list(input().split()))

answer = []
t = int(arr[0][0])
def bfs(x, y, t, op):
    q = deque()
    q.append((x, y, t, op))
    while q:

        x, y, t, op = q.popleft()
        for a, b in [(1, 0), (0, 1)]:
            nx, ny = x + a, y + b
            if nx &amp;gt;= n or ny &amp;gt;= n:
                continue

            if arr[nx][ny] in '+-*':
                q.append((nx, ny, t, arr[nx][ny]))

            else:
                a = int(arr[nx][ny])
                if op == '+':
                    nt = t + a
                elif op == '-':
                    nt = t - a
                else:
                    nt = t * a
                q.append((nx, ny, nt, ''))

            if nx == n-1 and ny == n-1:
                answer.append(nt)

bfs(0, 0, t, '')
print(max(answer), min(answer))&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;bfs로 모든 경로를 탐색해서 구할 수 있는 모든 결과값을 담아주고 이후 max랑 min을 통해 최댓값, 최소값을 구해주었다. 기본적으로 한 경로에 대한 깊이 탐색이 아니라 갈 수 있는 모든 길을 탐색해야 함으로 bfs를 선택했고, bfs 함수에는 x, y, 현재 계산값인 t, 현재 부호인 op를 넘겨주었다. q에 있는 값을 돌면서 갈 수 있는 방향인 아래쪽, 위쪽 두 개를 돌며 새로운 nx, ny 값을 갱신하며 arr[nx][ny]에 있는 값을 검사한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;만일 현재 값이 부호이면 현재 부호값을 op값에 갱신하여 q에 새로 넣어주고, 만일 현재 값이 숫자라면 이전에 저장했었던 op값을 검사하여 해당 값에 따라 검사한다. 이때 t는 기존 t에 갱신하지 말고 새로운 t에 계산해주어야 한다. 이후 계산한 값도 당연히 q에 넣어준다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;nx, ny가 지도 끝에 도착했다면, 해당 nt값을 answer에 넣어준다. 다 계산하고 나면, max값과 min값을 출력한다.&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 회고&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;처음에는 부호를 처리할 줄 몰라서 헤멨고, 그 후에는 bfs에 넣는 값을 어디까지 넣어야 하는지 헷갈려서 헤멧고, 마지막으로 계산한 t값을 append를 해주지 않아 헤멨다. 그래도 이제 bfs에 익숙해진 것 같아서 기분이 좋다.&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/TIL</category>
      <category>#99클럽 #코딩테스트준비 #개발자취업 #항해99 #til</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/33</guid>
      <comments>https://juvlog.tistory.com/33#entry33comment</comments>
      <pubDate>Sun, 27 Apr 2025 19:41:09 +0900</pubDate>
    </item>
    <item>
      <title>[99클럽 코테 스터디 19일차 TIL + DP] 28069 김밥천국의 계단 파이썬</title>
      <link>https://juvlog.tistory.com/32</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf1vLe%2FbtsM2Ww4ds9%2FkXB6v9Z7yzbZPsk2Zekxyk%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;1080&quot; height=&quot;600&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 학습 키워드&lt;/b&gt;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;DP&lt;/blockquote&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;공부한 내용 본인의 언어로 정리하기&lt;/b&gt;&lt;/h3&gt;
&lt;h4 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;문제&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/28069&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/28069&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHYzTl/btsNy5TlOhf/lewwvRRKnPmZn0s1OFGBK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHYzTl/btsNy5TlOhf/lewwvRRKnPmZn0s1OFGBK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHYzTl/btsNy5TlOhf/lewwvRRKnPmZn0s1OFGBK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHYzTl%2FbtsNy5TlOhf%2FlewwvRRKnPmZn0s1OFGBK0%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;1080&quot; height=&quot;733&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;733&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;코드&lt;/h4&gt;
&lt;pre id=&quot;code_1745502426421&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;n, k = map(int, input().split())
for _ in range(k):
    if n % 3 &amp;lt; 2:
        n = min(n-1, n//3 * 2 + n % 3)
    else:
        n -= 1
    if n &amp;lt;= 0:
        break
print('minigimbob' if n &amp;lt;= 0 else 'water')&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;도달하고 싶은 k값부터 역으로 출발하여 n % 3이 2가 되지 않는다면 계단 한칸 내려가기와 마법을 써서 계단 내려가기 둘 중 하나를 선택하고, 되지 않으면 -1만 하며 계단을 내려간다. k번 계단을 내려간 후 만일 내려갔다면 minigimbob을 출력하고, 아니면 water를 출력한다.&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 회고&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;처음에는 bfs 방식으로 문제를 해결하려고 노력했었다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1745502678592&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from collections import deque

n, k = map(int, input().split())
visited = [[0] * (k+1) for _ in range(n+1)]
start = 0

def bfs(start, count):
    q = deque()
    count = 0
    q.append((start, count))
    visited[start][count] = 1

    while q:
        now, count = q.popleft()

        for i in [1, now + now // 2]:
            new = now + i

            if new &amp;gt; n or count + 1 &amp;gt; k:
                continue

            if new == n and count+1 == k:
                print('minigimbob')
                return

            if visited[new][count + 1] == 0:
                visited[new][count + 1] = 1
                q.append((new, count + 1))

    print('water')

bfs(start, 0)&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;해당 방식으로 새로운 값과 진행 회수를 넘겨주며 dfs를 진행하고 이를 2차원 배열에 저장하니 작은 값은 괜찮았지만 큰 값에는 메모리 초과가 일어나는 현상이 발생했다. 그래서 결국 dp로 다시 해결하느라 시간이 2배로 걸렸다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 느낀점은 참 dp는 자주 쓰인다는 점이고, 내가 또 못한다는 점이다. dp를 열심히 연습해야겠다.&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/TIL</category>
      <category>#99클럽 #코딩테스트준비 #개발자취업 #항해99 #til</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/32</guid>
      <comments>https://juvlog.tistory.com/32#entry32comment</comments>
      <pubDate>Thu, 24 Apr 2025 23:55:50 +0900</pubDate>
    </item>
    <item>
      <title>[99클럽 코테 스터디 18일차 TIL + DP] 백준 27971 강아지는 많을수록 좋다 파이썬</title>
      <link>https://juvlog.tistory.com/31</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf1vLe%2FbtsM2Ww4ds9%2FkXB6v9Z7yzbZPsk2Zekxyk%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;1080&quot; height=&quot;600&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 학습 키워드&lt;/b&gt;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;DP(Dynamic Programming)&lt;/blockquote&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;공부한 내용 본인의 언어로 정리하기&lt;/b&gt;&lt;/h3&gt;
&lt;h4 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;문제&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/27971&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/27971&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;992&quot; data-origin-height=&quot;738&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjGvzY/btsNwpEeq8M/itAh9DrmYaXRNpETZKGgK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjGvzY/btsNwpEeq8M/itAh9DrmYaXRNpETZKGgK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjGvzY/btsNwpEeq8M/itAh9DrmYaXRNpETZKGgK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjGvzY%2FbtsNwpEeq8M%2FitAh9DrmYaXRNpETZKGgK1%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;992&quot; height=&quot;738&quot; data-origin-width=&quot;992&quot; data-origin-height=&quot;738&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;코드&lt;/h4&gt;
&lt;pre id=&quot;code_1745382599984&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from collections import deque

n, m, a, b = map(int, input().split())
arr = set()
for _ in range(m):
    i, j = map(int, input().split())
    for k in range(i, j+1):
        if k not in arr:
            arr.add(k)

visited = [0] * (n+1)

def bfs(start):
    q = deque()
    q.append(start)
    visited[start] = 1
    count = 0
    while q:
        now = q.popleft()
        for i in [a, b]:
            new = now + i
            if new &amp;lt;= n and visited[new] == 0 and new not in arr:
                visited[new] = visited[now] + 1
                if new == n:
                    return visited[new]-1
                else:
                    q.append(new)


answer = bfs(0)
print(-1 if not answer else answer)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;주어진 범위 내에 들어가지 않으면서 강아지를 만들 수 있는 최소 값을 찾는 것임으로, bfs를 통해 해당 값을 찾아주었다. 구현하면서 가장 중요했던 것은 특정 범위 안에 들지 않는 것이었는데, 해당 범위를 set을 통해 형성하고 new 값을 생성할 때마다 set 내의 값과 비교함으로써 범위를 피해갈 수 있었다.&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 회고&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;DP문제처럼 보이는 것도 dfs/bfs로 풀 수 있다는 것을 깨달았다. 나에게 DP는 막연하게 어려운 문제인데 익숙한 bfs로 푸니 어렵지 않고 수월하게 해결할 수 있었던 것 같다. 처음에는 범위를 list로 구현했었는데 해당 방법이 시간복잡도 측면에서 좋지 않아 set으로 다시 바꿔주었다. set이 list보다 시간복잡도 측면에서 좋다는 것을 배울 수 있었다.&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/TIL</category>
      <category>#99클럽 #코딩테스트준비 #개발자취업 #항해99 #til</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/31</guid>
      <comments>https://juvlog.tistory.com/31#entry31comment</comments>
      <pubDate>Wed, 23 Apr 2025 13:33:23 +0900</pubDate>
    </item>
    <item>
      <title>[99클럽 코테 스터디 17일차 TIL + 깊이/너비 우선 탐색(DFS/BFS)] 18126 너구리 구구 파이썬</title>
      <link>https://juvlog.tistory.com/30</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf1vLe%2FbtsM2Ww4ds9%2FkXB6v9Z7yzbZPsk2Zekxyk%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;1080&quot; height=&quot;600&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 학습 키워드&lt;/b&gt;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;깊이/너비 우선 탐색(DFS/BFS)&lt;/blockquote&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;공부한 내용 본인의 언어로 정리하기&lt;/b&gt;&lt;/h3&gt;
&lt;h4 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;문제&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/18126&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/18126&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1172&quot; data-origin-height=&quot;760&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dUejFH/btsNui7AmyE/3kCKFoRM0yvmWtLNugtm61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dUejFH/btsNui7AmyE/3kCKFoRM0yvmWtLNugtm61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dUejFH/btsNui7AmyE/3kCKFoRM0yvmWtLNugtm61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdUejFH%2FbtsNui7AmyE%2F3kCKFoRM0yvmWtLNugtm61%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;1172&quot; height=&quot;760&quot; data-origin-width=&quot;1172&quot; data-origin-height=&quot;760&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;코드&lt;/h4&gt;
&lt;pre id=&quot;code_1745305237458&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;n = int(input())
rooms = [[] for i in range(n+1)]
for _ in range(n-1):
    a, b, c = map(int, input().split())
    rooms[a].append((b, c))
    rooms[b].append((a, c))
visited = [0] * (n+1)
ans = [0] * (n+1)
q = [1]
while q:
    t = q.pop()
    visited[t] = 1
    for i in range(len(rooms[t])):
        b, dis = rooms[t][i]
        if not visited[b]:
            ans[b] = ans[t] + dis
            q.append(b)

print(max(ans))&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;q를 통해 시작 지점인 1번 방부터 끝 방까지 깊게 파고들며 거리를 계산한 후 각 방에 할당한다. 이후 가장 큰 값을 리턴한다.&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 회고&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;dfs/bfs 문제라 어렵지 않게 해결할 수 있었다. bfs를 통해 q에 있는 방들을 차차 하나씩 해결하면 되는 문제여서 간단하게 풀었던 것 같다. 또한 며칠 전에 풀었던 트리 부모 찾기 문제와 비슷하여 쉽게 풀었다.&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/TIL</category>
      <category>#99클럽 #코딩테스트준비 #개발자취업 #항해99 #til</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/30</guid>
      <comments>https://juvlog.tistory.com/30#entry30comment</comments>
      <pubDate>Tue, 22 Apr 2025 16:16:00 +0900</pubDate>
    </item>
    <item>
      <title>[99클럽 코테 스터디 16일차 TIL + 시뮬레이션] 프로그래머스 신규 아이디 추천 Python</title>
      <link>https://juvlog.tistory.com/29</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf1vLe%2FbtsM2Ww4ds9%2FkXB6v9Z7yzbZPsk2Zekxyk%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;1080&quot; height=&quot;600&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 학습 키워드&lt;/b&gt;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;시뮬레이션&lt;/blockquote&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;공부한 내용 본인의 언어로 정리하기&lt;/b&gt;&lt;/h3&gt;
&lt;h4 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;문제&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/72410&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/72410&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1745227553581&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;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/72410&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bd73A2/hyYFEKyhy6/tlv37GULUk7RkkCMEUr05k/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bM8R4O/hyYJrRfm4k/saZfPqVXWIqrk7fMgQq6Qk/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/72410&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/72410&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bd73A2/hyYFEKyhy6/tlv37GULUk7RkkCMEUr05k/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bM8R4O/hyYJrRfm4k/saZfPqVXWIqrk7fMgQq6Qk/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&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;SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;896&quot; data-origin-height=&quot;607&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kWFeC/btsNun0PKCS/WpnRrUuVFqwrbRksgLKxD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kWFeC/btsNun0PKCS/WpnRrUuVFqwrbRksgLKxD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kWFeC/btsNun0PKCS/WpnRrUuVFqwrbRksgLKxD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkWFeC%2FbtsNun0PKCS%2FWpnRrUuVFqwrbRksgLKxD0%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;896&quot; height=&quot;607&quot; data-origin-width=&quot;896&quot; data-origin-height=&quot;607&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;코드&lt;/h4&gt;
&lt;pre id=&quot;code_1745227665480&quot; class=&quot;haxe&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;import re

def solution(new_id):
    #1단계
    new_id = new_id.lower()
    #2단계
    new_id = re.sub(r'[^a-z0-9\-_.]', &quot;&quot;, new_id)
    
    #3단계
    new_id = re.sub(r'\.+', '.', new_id)
    
    #4단계
    new_id = new_id.strip('.')
    
    #5단계
    if not new_id:
        new_id = 'a'
        
    #6단계
    if len(new_id) &amp;gt;= 16:
        new_id = new_id[:15]
        if new_id[-1] == '.':
            new_id = new_id[:-1]
            
    #7단계
    while len(new_id) &amp;lt; 3:
        new_id += new_id[-1]
        
    return new_id&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;new_id&amp;nbsp;=&amp;nbsp;re.sub(r'\.+',&amp;nbsp;'.',&amp;nbsp;new_id)&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;295&quot; data-start=&quot;239&quot;&gt;[^...] : 괄호 안 &lt;b&gt;외의 문자&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;295&quot; data-start=&quot;239&quot;&gt;a-z : 소문자&lt;/li&gt;
&lt;li data-end=&quot;322&quot; data-start=&quot;310&quot;&gt;0-9 : 숫자&lt;/li&gt;
&lt;li data-end=&quot;389&quot; data-start=&quot;323&quot;&gt;\-_.&amp;nbsp; :&amp;nbsp; -, _, . 뺴고 다 거르기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;new_id&amp;nbsp;=&amp;nbsp;re.sub(r'\.+',&amp;nbsp;'.',&amp;nbsp;new_id)&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;579&quot; data-start=&quot;553&quot;&gt;\.+ &amp;rarr; 마침표가 1번 이상 연속될 때&lt;/li&gt;
&lt;li data-end=&quot;605&quot; data-start=&quot;580&quot;&gt;re.sub()로 하나의 마침표로 치환&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: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 회고&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;정규식의 개념을 처음 알게 되었다. 정규표현식 re를 넣어 문자를 대체하는 것을 처음 사용해 보았다. 단계별로 하나하나 기능을 구현하는 과정이 재밌었던 것 같다.&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/TIL</category>
      <category>#99클럽 #코딩테스트준비 #개발자취업 #항해99 #til</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/29</guid>
      <comments>https://juvlog.tistory.com/29#entry29comment</comments>
      <pubDate>Mon, 21 Apr 2025 18:37:07 +0900</pubDate>
    </item>
    <item>
      <title>[99클럽 코테 스터디 15일차 TIL + DP] 17271 리그 오브 레전설 (Small) 파이썬</title>
      <link>https://juvlog.tistory.com/28</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf1vLe%2FbtsM2Ww4ds9%2FkXB6v9Z7yzbZPsk2Zekxyk%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;1080&quot; height=&quot;600&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 학습 키워드&lt;/b&gt;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;DP&lt;/blockquote&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;공부한 내용 본인의 언어로 정리하기&lt;/b&gt;&lt;/h3&gt;
&lt;h4 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;문제&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/17271&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/17271&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;437&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEzhpO/btsNttTQPpG/9Ovi7kNtke6GRXsxdtwEv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEzhpO/btsNttTQPpG/9Ovi7kNtke6GRXsxdtwEv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEzhpO/btsNttTQPpG/9Ovi7kNtke6GRXsxdtwEv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEzhpO%2FbtsNttTQPpG%2F9Ovi7kNtke6GRXsxdtwEv0%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;1170&quot; height=&quot;437&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;437&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;코드&lt;/h4&gt;
&lt;pre id=&quot;code_1745179413666&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;n, m = map(int, input().split())
dp = [1]*(n+1)

if n &amp;gt;= m:
    dp[m] = 2
for i in range(m+1,n+1):
    dp[i] = (dp[i-1] + dp[i-m]) % 1000000007

print(dp[n])&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 회고&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;또 dp.. 근데 또풀어도 또 같은 유형이여도 항상 새롭고 어려운 게 DP 인 것 같다.&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/TIL</category>
      <category>#99클럽 #코딩테스트준비 #개발자취업 #항해99 #til</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/28</guid>
      <comments>https://juvlog.tistory.com/28#entry28comment</comments>
      <pubDate>Mon, 21 Apr 2025 05:05:50 +0900</pubDate>
    </item>
    <item>
      <title>[99클럽 코테 스터디 14일차 TIL + dp] 백준 17484 진우의 달 여행(small) 파이썬</title>
      <link>https://juvlog.tistory.com/27</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf1vLe/btsM2Ww4ds9/kXB6v9Z7yzbZPsk2Zekxyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf1vLe%2FbtsM2Ww4ds9%2FkXB6v9Z7yzbZPsk2Zekxyk%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;1080&quot; height=&quot;600&quot; data-filename=&quot;기본형1_python.png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 학습 키워드&lt;/b&gt;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;dp+bfs&lt;/blockquote&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;공부한 내용 본인의 언어로 정리하기&lt;/b&gt;&lt;/h3&gt;
&lt;h4 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;문제&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/17484&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/17484&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1127&quot; data-origin-height=&quot;887&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bN02yO/btsNpKPd6p8/EWRU9PJB8ThR56meu9OE30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bN02yO/btsNpKPd6p8/EWRU9PJB8ThR56meu9OE30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bN02yO/btsNpKPd6p8/EWRU9PJB8ThR56meu9OE30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbN02yO%2FbtsNpKPd6p8%2FEWRU9PJB8ThR56meu9OE30%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;1127&quot; height=&quot;887&quot; data-origin-width=&quot;1127&quot; data-origin-height=&quot;887&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1098&quot; data-origin-height=&quot;247&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NRQxb/btsNp1XvvMd/smwIMRVXPeWoybCZMKkuQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NRQxb/btsNp1XvvMd/smwIMRVXPeWoybCZMKkuQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NRQxb/btsNp1XvvMd/smwIMRVXPeWoybCZMKkuQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNRQxb%2FbtsNp1XvvMd%2FsmwIMRVXPeWoybCZMKkuQK%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;1098&quot; height=&quot;247&quot; data-origin-width=&quot;1098&quot; data-origin-height=&quot;247&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;코드&lt;/h4&gt;
&lt;pre id=&quot;code_1744882076214&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def dfs(x, y, idx, s):
    if x == n - 1:
        ans.append(s)
        return

    for i in range(3):
        if i == idx:
            continue
        else:
            a, b = dir[i]
            nx = x + a
            ny = y + b
            if n &amp;gt; nx &amp;gt;= 0 and m &amp;gt; ny &amp;gt;= 0:
                dfs(nx, ny, i, s + arr[nx][ny])


n, m = map(int, input().split())
arr = [list(map(int, input().split())) for _ in range(n)]
dir = [(1, -1), (1, 0), (1, 1)]
ans = []

for i in range(m):
    dfs(0, i, -1, arr[0][i])
print(min(ans))&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;dfs에&amp;nbsp; x, y, 이전 이동 값, 연료 누적 값을 넘겨주며 이전의 이동 값을 지속적으로 확인하고 연료를 누적시킨다. 가질 수 있는 모든 이동 값 중에 가장 작은 수를 출력한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오늘의 회고&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;dp 문제인데 dfs로 푸는게 더 깔끔했던 문제였다. 이전에 방문했던 곳을 고려하면서 가는 방향이 정해져 있음으로 dfs로 깊이탐색을 하면서 답을 찾아나갔다. 별개로 dp 문제는 난이도 상관없이 해당 반복되는 유형을 파악하고 코드로 옮기는 게 힘든 것 같다. 매번 dp문제만 나오면 당황하거나 문제 푸는데 오래 걸리는데 빨리 dp에 익숙해 지도록 문제를 많이 풀어봐야겠다.&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/TIL</category>
      <category>#99클럽 #코딩테스트준비 #개발자취업 #항해99 #til</category>
      <author>IlikeSummer</author>
      <guid isPermaLink="true">https://juvlog.tistory.com/27</guid>
      <comments>https://juvlog.tistory.com/27#entry27comment</comments>
      <pubDate>Thu, 17 Apr 2025 18:39:15 +0900</pubDate>
    </item>
  </channel>
</rss>