<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발이 취미인 주니어 기획자</title>
    <link>https://idontlikemath-moonsong.tistory.com/</link>
    <description>나도 내가 뭘 하고 싶은지 모르겠어.
그러니까 다 할래.

본업 모먼트 https://borne-up.tistory.com/</description>
    <language>ko</language>
    <pubDate>Thu, 4 Jun 2026 10:30:41 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor> 큐</managingEditor>
    <image>
      <title>개발이 취미인 주니어 기획자</title>
      <url>https://tistory1.daumcdn.net/tistory/5314109/attach/bf43f886a5ac41bfaed9f5a5c0a07ba6</url>
      <link>https://idontlikemath-moonsong.tistory.com</link>
    </image>
    <item>
      <title>[WebHacking][웹해킹] 웹 해킹에 대한 이해</title>
      <link>https://idontlikemath-moonsong.tistory.com/77</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;  크리핵티브의 한 권으로 끝내는 웹해킹 바이블&lt;/b&gt;을 보고 정리한 내용입니다&lt;br /&gt;&lt;b&gt; &amp;zwj;  블로그 작성자는:&lt;/b&gt;&lt;br /&gt;해킹의 H자도 모르는 응애로서 틀린 내용이 적혀 있을 수 있습니다.&lt;br /&gt;보안 솔루션인 AI 해커 &lt;b&gt;XBOW&lt;/b&gt;를 한국 시장에 알리고 있으므로 중간중간 프로덕트 자랑글이 들어가 있을 수 있습니다.&lt;br /&gt;영어로도 뭐가 뭔지 알아야 돼서 영어 표현이 있을 수도 있습니다.. 하 덕분에 영어 공부 다시 한다..&lt;/blockquote&gt;
&lt;figure id=&quot;og_1777184707505&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;크리핵티브의 한 권으로 끝내는 웹 해킹 바이블 | 공격을 알아야 방어가 보인다 3만 명의 수강생이 열광한 바로 그 강의가 한 권의 책으로! 웹 개발자&amp;amp;정보보안 입문자의 필독서 웹 기술의 기본&quot; data-og-host=&quot;product.kyobobook.co.kr&quot; data-og-source-url=&quot;https://product.kyobobook.co.kr/detail/S000217570343&quot; data-og-url=&quot;https://product.kyobobook.co.kr/detail/S000217570343&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bvDWq2/dJMb82MFRTU/HGDaP22Mn9LTZgaeyz6Op0/img.jpg?width=458&amp;amp;height=589&amp;amp;face=0_0_458_589,https://scrap.kakaocdn.net/dn/cZxy8F/dJMb88F7IfW/1RMslfaRCQsqJDxNWbqcy0/img.jpg?width=458&amp;amp;height=589&amp;amp;face=0_0_458_589,https://scrap.kakaocdn.net/dn/bTgPOJ/dJMb87NZh1y/gPTocV4y7547GwzQZ6JXAk/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/S000217570343&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://product.kyobobook.co.kr/detail/S000217570343&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bvDWq2/dJMb82MFRTU/HGDaP22Mn9LTZgaeyz6Op0/img.jpg?width=458&amp;amp;height=589&amp;amp;face=0_0_458_589,https://scrap.kakaocdn.net/dn/cZxy8F/dJMb88F7IfW/1RMslfaRCQsqJDxNWbqcy0/img.jpg?width=458&amp;amp;height=589&amp;amp;face=0_0_458_589,https://scrap.kakaocdn.net/dn/bTgPOJ/dJMb87NZh1y/gPTocV4y7547GwzQZ6JXAk/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;크리핵티브의 한 권으로 끝내는 웹 해킹 바이블 | 하동민 - 교보문고&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;크리핵티브의 한 권으로 끝내는 웹 해킹 바이블 | 공격을 알아야 방어가 보인다 3만 명의 수강생이 열광한 바로 그 강의가 한 권의 책으로! 웹 개발자&amp;amp;정보보안 입문자의 필독서 웹 기술의 기본&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 웹 해킹 공격과 방어를 위한 기본적인 지식들&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.1 웹 해킹이란 무엇인가?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;책에서 알려주는 웹 애플리케이션 해킹에서 자주 볼 수 있는 해킹 예시로&lt;b&gt; 파라미터 변조 취약점(parameter tampering vulnerability)&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;blob&quot; data-origin-width=&quot;1796&quot; data-origin-height=&quot;726&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOZTGv/dJMcafzDr49/kXhYdY4lp5iLjvKfOSWWGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOZTGv/dJMcafzDr49/kXhYdY4lp5iLjvKfOSWWGK/img.png&quot; data-alt=&quot;이런 불미스러운 예시에 모교를 들게 되다니. 2023년 12월 방송통신대학교&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOZTGv/dJMcafzDr49/kXhYdY4lp5iLjvKfOSWWGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOZTGv%2FdJMcafzDr49%2FkXhYdY4lp5iLjvKfOSWWGK%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;630&quot; height=&quot;255&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1796&quot; data-origin-height=&quot;726&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이런 불미스러운 예시에 모교를 들게 되다니. 2023년 12월 방송통신대학교&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 24년도 1학기 추가모집 시즌에 지원했기 때문에 내 개인정보는 유출대상에 해당하지는 않았지만 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;기억하기로는 이 사건을 계기로 아예 홈페이지 리뉴얼이 들어갔던 것 같음.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹해킹 발생 원인은 사용자 입력값에 대한 입력값 검증 미흡으로 발생하는데, 파라미터 변조 취약점 외에&lt;b&gt; SQL 인젝션&lt;/b&gt;에 대한 취약점도 발생 가능하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.2 해커들의 공격 맛집, 웹 서비스&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기업 입장에서는 사용자들의 접속해야 하는 외부 서비스는 어쩔 수 없이 공격해야 하므로, 중요한 데이터를 다루는 내부 서비스의 보안을 방화벽 등을 이용하여 강화하였다. 방화벽은 미리 정의된 룰셋을 통해 &lt;b&gt;웹 서비스에 대한 외부 접근은 허용&lt;/b&gt;하고, 그 외의 서비스는 차단하도록 설정이 가능하다.(SSH, FTP, SFTP, TELNET) 반면, 웹 서비스에서 접속할 경우에는 허용된 포트로 접근하는 것이므로 패킷이 정상적으로 전달된다. 결과적으로, 웹 서비스 이외의 내부 서비스에는 접근할 수 없게 되는 것이다 -- 따라서 외부에 공개된 웹 서비스를 중심으로 공격을 시도할 수 밖에 없다.&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;u&gt;&lt;b&gt;사용자들의 개인 정보&lt;/b&gt;&lt;/u&gt;를 목표로 한다. 그 외에도 기업 내 계약서등 기밀 문서까지 수집하게 될 수도 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;피해 사례&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. 파라미터 변조:&lt;/b&gt; KT 개인 정보 유출(2014)&lt;br /&gt;&lt;b&gt;2. SQL인젝션:&lt;/b&gt; 뽐뿌 개인 정보 유출(2015)&lt;br /&gt;&lt;b&gt;3. SQL인젝션 &amp;gt; 세션 변조:&lt;/b&gt; 여기어때 개인 정보 유출(2017)&lt;br /&gt;&lt;b&gt;4. 파일 업로드 취약점&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;웹 해킹 공격 프로세스&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. 공격 대상 지정&lt;/b&gt;&lt;br /&gt;&lt;b&gt;2. 정보 수집(discovery)&lt;/b&gt; 공격에 필요한 정보 수집 단계 - 도메인, 계정 등 공개 정보 수집(OSINT: Open Source Intelligence)&lt;br /&gt;&lt;b&gt;3. 취약점 분석(analysis) ⭐️&lt;/b&gt;&amp;nbsp;취약점 분석 능력&lt;br /&gt;&lt;b&gt;4. 공격(exploitation) &lt;/b&gt;취약 기능이라고 판단할 경우 공격을 진행하는 단계&lt;br /&gt;&lt;b&gt;5. 결과 도출(validation + reporting) &lt;/b&gt;공격을 통해 얻은 정보들을 의미 있는 결과물의 형태로 만드는 단계&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;오 그러니깐 &lt;b&gt;XBOW&lt;/b&gt;는 웹 해킹 공격 프로세스 전반을 다 커버하고 있으며, 여기서 인간 해커의 능력에 강하게 의존할 수 밖에 없는 3-4번에서 기술적 차별점이 있음.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;  관련 XBOW 블로그&lt;br /&gt;&lt;/b&gt;1.&amp;nbsp; &lt;a href=&quot;https://xbow.com/blog/core-components-ai-pentesting-framework&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;AI 모의해킹 프레임워크의 핵심 구성 요소&lt;/a&gt;&amp;nbsp;&lt;br /&gt;2. &lt;a href=&quot;https://xbow.com/blog/xbow-ai-pentesting-vs-dast&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;XBOW AI 기반 모의해킹 vs DAST 비교&lt;/a&gt;&lt;br /&gt;&amp;nbsp; - 기존 도구가 취약점 &amp;ldquo;탐지&amp;rdquo;에 그친다면, XBOW는 공격&amp;rarr;반응&amp;rarr;다음 공격을 반복&lt;br /&gt;3. &lt;a href=&quot;https://xbow.com/blog/we-ran-1060-autonomous-attacks&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;1,060번의 자율 공격을 실행해봤습니다&lt;/a&gt;&lt;br /&gt;&amp;nbsp;- 40시간 걸리던 작업을 28분으로 단축&lt;/blockquote&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;1.3 웹 해킹과 업무&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;기업들이 웹 해킹 진단을 하는 이유&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상적인 사용자 뿐만 아니라 해커에 대한 대비도 해야 함&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;웹 해킹 진단의 종류 2가지&lt;/b&gt;&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;취약점 진단&lt;/li&gt;
&lt;li&gt;모의 해킹&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;견고한 웹 서비스 보안을 위한 방법&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;정기적 웹 취약점 진단&lt;/b&gt; - 웹 해킹 진단. 반기별 / 분기별, 지속적으로 기능이 추가 및 수정되며, 애플리케이션 내부 로직도 변함. 진단자에 따라 진단 결과 다르므로 진단자의 능력에 의존적.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;개발자 보안 교육&lt;/b&gt; - 시큐어 코딩 / 개발 단계에서부터 보안 고려해서 안전하게 개발&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;보안 솔루션 도입&lt;/span&gt;&lt;/b&gt; - 웹 방화벽&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보안 인력 확보&lt;/b&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;웹 해킹과 관련 있는 정보보안 업무&lt;/b&gt;&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 180px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;&lt;b&gt;업무&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;&lt;b&gt;웹 해킹 관련성&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;보안 관제&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;낮음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;보안 컨설팅 - 관리&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;낮음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;보안 컨설팅 - 기술&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;메인&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;악성 코드 분석&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;낮음 / 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;침해 사고 분석&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;관련 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;포렌식&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;낮음 / 간접&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;모의 해킹&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;메인&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;취약점 진단&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;메인&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;인프라 진단&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 18px;&quot;&gt;낮음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(1) 취약점 진단(정기적 취약점 진단 기업에 적합)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&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;&lt;b&gt;(2) 모의 해킹&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;취약점 유무를 넘어 어떤 위협이 발생할 수 있는지 살펴보고, 취약점을 통해 발견할 수 있는 또 달느 취약점을 찾아 기업의 중요 정보에 도달할 수 있는지 내부 침투까지 시도&lt;/li&gt;
&lt;li&gt;위협 시각화에 용이(내부 설득력 높아짐)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;모의 해킹 진단의 현실&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&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;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;1.4 웹 해킹 훈련장, 워게임&lt;/h3&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;워게임이란?&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;워게임은 가상의 취약 환경. 사이트마다 시스템 해킹, 웹 해킹, 리버싱, 포렌식 등 다양한 분야의 문제들이 제공된다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Webhacking.kr&lt;/li&gt;
&lt;li&gt;Lord of SQLi&lt;/li&gt;
&lt;li&gt;SuNiNaTas&lt;/li&gt;
&lt;li&gt;dreamhack.io&lt;/li&gt;
&lt;li&gt;hackerfactory.co.kr&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;워게임과 실환경&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실환경에서의 합법 공격 수행을 위한 방법으로는 버그바운티 프로그램에 참여하는 방법이 있다&lt;/li&gt;
&lt;li&gt;knvd.krcert.or.kr&lt;/li&gt;
&lt;li&gt;patchday.io&lt;/li&gt;
&lt;li&gt;bugbounty.kakao.com&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://xbow.com/blog/core-components-ai-pentesting-framework&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://xbow.com/blog/core-components-ai-pentesting-framework&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777998550749&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;XBOW - Core Components of an AI Pentesting Framework&quot; data-og-description=&quot;AI-driven pentesting mirrors traditional workflows but accelerates discovery, exploitation, and validation with adaptive, data-driven automation at machine speed.&quot; data-og-host=&quot;xbow.com&quot; data-og-source-url=&quot;https://xbow.com/blog/core-components-ai-pentesting-framework&quot; data-og-url=&quot;https://xbow.com/blog/core-components-ai-pentesting-framework&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/d5o459/dJMb9aKIWyl/4YRd53tZxYZphiE4MfNfu0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://xbow.com/blog/core-components-ai-pentesting-framework&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://xbow.com/blog/core-components-ai-pentesting-framework&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/d5o459/dJMb9aKIWyl/4YRd53tZxYZphiE4MfNfu0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&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;XBOW - Core Components of an AI Pentesting Framework&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AI-driven pentesting mirrors traditional workflows but accelerates discovery, exploitation, and validation with adaptive, data-driven automation at machine speed.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;xbow.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>웹해킹</category>
      <category>AI 모의해킹</category>
      <category>ai해킹</category>
      <category>Hacking</category>
      <category>WebHacking</category>
      <category>XBOW</category>
      <category>모의해킹</category>
      <category>웹해킹</category>
      <category>웹해킹바이블</category>
      <category>해킹</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/77</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/77#entry77comment</comments>
      <pubDate>Wed, 6 May 2026 09:30:27 +0900</pubDate>
    </item>
    <item>
      <title>[방송통신대학교] 4학년 2학기 컴퓨터과학과 수강후기</title>
      <link>https://idontlikemath-moonsong.tistory.com/76</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;2년이라는 시간이 정말 휘리릭 가버렸다 이제 난 문송하지 않다 하 하 하 하하 하 문학사 이학사 다 가진 내가 바로 찾아보기 어렵다는 융합형 인재가 아니겠냐며(널림) &lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1185&quot; data-origin-height=&quot;1188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LFGON/dJMb9951QhY/nmHibBxEgF33TKvQczi4tk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LFGON/dJMb9951QhY/nmHibBxEgF33TKvQczi4tk/img.jpg&quot; data-alt=&quot;그 와중 개정된 엠블럼.. &quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LFGON/dJMb9951QhY/nmHibBxEgF33TKvQczi4tk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLFGON%2FdJMb9951QhY%2FnmHibBxEgF33TKvQczi4tk%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;1185&quot; height=&quot;1188&quot; data-origin-width=&quot;1185&quot; data-origin-height=&quot;1188&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;그 와중 개정된 엠블럼.. &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;br&gt;재수강 2개 해야해서 7과목을 들은 학기.. 시험기간에는 왜그랬나 싶었지만 그래도 결과적으로는 둘 다 A 받아내서 듣기를 잘 했다 싶었다..&lt;br&gt;&lt;br&gt;시험이 12월 초였는데 벼락치기 하느라 죽을 맛이었다.. &lt;br&gt;&lt;br&gt;열심히 안 해도 잘하고 싶다.. 날먹하고싶다.. 근데 능력이안돼서 제일 늦게 퇴근하고 라운지 구석에 박혀서 요약 노트 만들고.. 스터디 카페가서 새벽까지 강의듣고 맥모닝 들고 집오고 두시간 자고 회사가고....미친…회사도 바쁜 시기에 둘 다 제대로 해내고 있지 못하단 생각에 몸도 마음도 너무너무 힘들었음. 그래도 어떡해 해야지 정신으로 다 해냈죠? &lt;br&gt;&lt;br&gt;암튼 됐고 한 학기 수강후기 간다 렛쯔고&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JDIlo/dJMb9951Qh0/ULdRsjbtEeKeX6dWb2Fhj1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JDIlo/dJMb9951Qh0/ULdRsjbtEeKeX6dWb2Fhj1/img.jpg&quot; data-alt=&quot;학교 팝업ㅋㅋㅋ끝나고 과소비함&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JDIlo/dJMb9951Qh0/ULdRsjbtEeKeX6dWb2Fhj1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJDIlo%2FdJMb9951Qh0%2FULdRsjbtEeKeX6dWb2Fhj1%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;4284&quot; height=&quot;5712&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;학교 팝업ㅋㅋㅋ끝나고 과소비함&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 머신러닝&lt;/b&gt;&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;진짜 제일 제일 열심히 했는데 성적은 제일 안 나옴..   그렇게까지 틀릴 문제들이 있었던가 싶었는데 OX 문제를 많이 틀렸더라. 그리고 AlexNet 이 미친놈의 특성을 너무 당연히 외우고 있다고 착각해서 마지막에 암기를 소홀히 했더니 2문제를 날렸다. 병렬!!학습!!! 회사에서 영어이름으로 알렉스를 쓰고 있는 입장에서 더 화가났음 알렉스넷 이놈!!! 아니 알렉스 이 멍청한넘!!!!! 시험 결과랑은 별개로 내용이 재밌긴 했다 텐서플로로 뭐하는건지 모델이 뭔지 이런것들을 겉핥기 해본 시간이었다. 과제는 Colab 이용해서 MNIST 데이터셋 분석하는였는데 아주 기본적인거지만 실제로 모델 학습을 이렇게 한다 생각하니 신기하고 재미있었음. &lt;br&gt;&lt;br&gt;모태문과는 수식들이 정말 많이 나와서 이해하느라 힘들었다. 이산수학 선형대수 꼭 듣고 듣길.. 시험에는 그렇게 식을 묻는 문제는 안 나왔던거 같긴한데 그래도 이해는 해야되니깐ㅠㅠ 비선형이 나오니깐 미분도 필수다. 경제학 했던게 이렇게 써먹히는거 보니 진짜 인생 알수없음.. 뭐 당연히 기억 다 하는건 아니어서 문제를 풀어내라했음 못했겠지만ㅋㅋㅋ 독해력에 도움을 줬다 정도..? 암튼 컴과 수학 공부 왜시키지 행렬 왜 하지 했던거 이해완.. 왜 해야 하지 하는게 다 눈에 보이고 진짜 쓰이는구나 느껴지는 순간(이 타이밍이 남들보다 늦는거 같긴하지만 아무튼) 흥미로워지는 것 같다 난 순수학문 체질은 아닌가바 &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 딥러닝&lt;/b&gt;&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;머신러닝에 비하면 딥러닝은 선녀였다. 출석 수업 하러 갔을 때 조교님이 딥러닝 머신러닝 같이 하는 사람들은 진짜 고통스러운 한학기를 보낼거라고 하셨는데 나는 동의하지 않는다.. 같에 안 들었으면 더 고통스러웠을 것.. 결국 딥러닝이 머신러닝에 포함되어 있어서 겹치는 부분이 많아 훨씬 수월했다. 확실히 LLM이 요새 핫해지는 분야다보니 관련 내용을 배우니 눈에 들어오는 것도 확실히 많아진다. 프롬프팅 방법을 찾아보면 BERT GPT별로 다르게 분리해 두는데, 예전엔 구글이랑 오픈AI 차이겠거려니 했던게 인코더/디코더 차이인걸 알게 되었다던지.. 그런 소소한 지식들이 눈에 좀 더 들어오고 체화된다ㅋㅋ 과제도 데이터 시각화 해보는거라 재밌다. 붓꽃 데이터 분류하는 거였음. 주피터 노트북이나 구글 코랩은 예전에 싸피에서 파이썬 문법 배울때 찔끔 써 본게 다였는데, 이번 머신러닝/딥러닝 배우면서 확실히 그 진가를 알게됨.. 재밌다 &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 오픈소스기반 데이터분석&lt;/b&gt;&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;공공데이터 기반으로 데이터분석을 하는데 정부 데이터센터 화재 때문에 과제 내용이 바뀐 레전드사건,, 하지만 미리 하지 않아서 별로 타격은 없었다!(?) 예전에 사이드 프로젝트할 때 공공데이터 사용해본적도 있고, 사실 지금 회사 서비스도 공공데이터 활용하는 서비스라 수집/전처리 과정이 그렇게 어렵진 않았다. 데이터 시각화는 처음해봤는데 생각보다 재밌고 어렵지 않았다. 난 눈에 보여지는 것에 확실히 더 흥미를 느끼는 것 같다 ㅋㅋㅋ 보면서 우리 회사 데이터 가지고 대시보드를 만들어볼 수 있을거같단 생각을 했다,, 사실 툴을 쓰면 더 쉽겠지,,? 헤헤 몰라 내가 재밌는거 해 &lt;br&gt;&lt;br&gt;과제가 재밌는거랑은 별개로 시험 준비가 쉽지 않았다. 이번 학기 첫 개강한 수업이라 누구도 기말에 대해서 알지 못했다.. 심지어 교수님은 11월부터 학습게시판에 답변을 다는 것을 멈추셨다.. 하지만 많이 걱정했던게 무색하게도 난이도는 생각보다 평이했다. 2학년 수업인거 감안하신 난이도 조절로 보였다.. 일단 양은 엄청 많은데, 그 양만 좀 극복하면 딥한 내용은 물어보지 않는다고 느꼈다. 이에 대해서 겸둥이와 함께 얘기해봤는데 사실 우리가 이미 파이썬 문법을 알고 있고, 뒷부분에 나오는 머신러닝 부분에 대해서도 조금은 알고 있어서(머신러닝 수업을 들었으니깐) 수월하다고 느꼈을 수도 있다고 결론내렸다. 따라서 2학년 수업 치고는.. 빡셀 수 있다 인정. 그리고 깃 만든 사람이 리누스 토발즈인거 알았음?? 난 이 시험치면서 알게됨 진짜 탈인간 &lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 시뮬레이션&lt;/b&gt;&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;이건 교수님 덕분에 성적을 건져갔다.. 과제는 맥 사용자들에게는 좀 힘들었는데(코딩을 직접 해야해서.. 에바) 윈도우 사용하는 겸둥이 덕분에 겨우 빌려서 해냈닼ㅋㅋ 시뮬 학기 준비물: 윈도우. 여긴 대기행렬 문제, 저축 문제 등 예측 시뮬레이션 등을 배워서 내용은 정말 헷갈리고 어려운데 시험 자체는 코딩 해놓은거 읽기 수준(이 변수는 뭘 의미하는지?ㅋㅋ 심지어 변수명 너무 잘 지어 놓으셔서 걍 영어해석만 하면됨.. totarr가 총 도착한 사람수가 아니면 뭐겠냐고요ㅠ)에다 기출에 충실한 시험이라 고득점이 쉽다. &lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5. 컴파일러구성&lt;/b&gt;&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;시뮬 교수님과 같은 교수님이라 공부는 어려웠으나 시험은 문제없었다.. 전체적인 내용을 감 잡는데 정말 오래걸렸고 벼락치기를 하다보니 사실 강의는 좀 포기했음(죄송..) 그냥 워크북 다 풀어보고 모르는거 책 보고 겸둥에게 물어보고 그랬다. 젤 투자한 시간이 적어서 할 말이 많이없네 ㅎ,,&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;6. UNIX 시스템(재수강)&lt;/b&gt;&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;이전에 수강했을 때나 지금이나 똑같은 양을 공부한 것 같은데 점수는 많이 차이났다. 내가 성장한 탓일까..? ㅋㅋㅋㅋㅋ 다른 사람들이 git 부분이 많이 나와서 조졌다는 후기가 많았는데 난 깃이 많이 나와서 오히려 살았던 것 같다… 2022년 싸피 할 때 이 블로그에 정리한 3-way merge가.. stash가.. 이렇게 나비효과가 되어 돌아오다니.. 벼락치기 할 때 워크북을 열심히 봤다.. 두 번이나 들었고 어찌저찌 A는 받았지만 리눅스는 여전히 안다고 할 수 없는 상태다ㅋㅋㅋㅋㅋ 공부하면서 기억나는건 shell에 cal 명령어 치면 달력이 또로롱 나온다는거 뿐.. 에라 rm -f 만 알면되는거아닌가요?(아님)&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;7. 클라우드컴퓨팅(재수강)&lt;/b&gt;&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;클컴은 유닉스와 달리 꽤 열심히 봤다(시험기간 한정.. 재수강 과목들은 무슨 자신감인지 모르겠는데 좀 기억할거라고 착각하나봄 학기중엔 그냥 없는 수업인셈 침ㅋㅋㅋ) 4학년 수업이라 그런지 시험도 쉽지만은 않았음. 그렇다고 막 어려운건 아닌거같기도하고.. 다들 알다시피 가상화에 대해 많이 나왔고, 실습 내용이 꽤 나옴. 과제는 걍 애저 설정하는거였다. 난 aws로 클라우드를 첨 접했는데 애져가 네이밍이라던가 그런 것들이 좀 더 직관적이라고 느꼈다. 예를 들면 람다..펑션.. 이런것들.. 분명 작년에 이거 재수강 대신 aws 자격증을 딸 거라고 얘기했는데 아직 시험 보러 안 갔다.. 일단 내가 쓰는게 아니니깐 효용도 모르겠고 재미가 없어용&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bznXci/dJMb9951QhZ/kY4XnA4eDCXTd8CCtpOxa0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bznXci/dJMb9951QhZ/kY4XnA4eDCXTd8CCtpOxa0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bznXci/dJMb9951QhZ/kY4XnA4eDCXTd8CCtpOxa0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbznXci%2FdJMb9951QhZ%2FkY4XnA4eDCXTd8CCtpOxa0%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;4284&quot; height=&quot;5712&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&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;4284&quot; data-origin-height=&quot;5712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5fL68/dJMcabpd7m2/rOLqNR1KsAmFsJoSun3rw1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5fL68/dJMcabpd7m2/rOLqNR1KsAmFsJoSun3rw1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5fL68/dJMcabpd7m2/rOLqNR1KsAmFsJoSun3rw1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5fL68%2FdJMcabpd7m2%2FrOLqNR1KsAmFsJoSun3rw1%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;4284&quot; height=&quot;5712&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&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;3024&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfBwiw/dJMcabpd7m0/63fUQ0cd3cAkyZBMAcMfvk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfBwiw/dJMcabpd7m0/63fUQ0cd3cAkyZBMAcMfvk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfBwiw/dJMcabpd7m0/63fUQ0cd3cAkyZBMAcMfvk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfBwiw%2FdJMcabpd7m0%2F63fUQ0cd3cAkyZBMAcMfvk%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;3024&quot; height=&quot;4032&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;맛있는 딸기 케잌을 원없이 먹고 하이디라오 가서 축하 훠궈를 뿌셨다 누군가에겐 별거 아닐진 몰라도 최선을 다해서 열심히 했다 진짜진짜 고생했다~~~~~ ❤️ 헤헤 &lt;br&gt;&lt;br&gt;혼자했으면 무조건 이렇게 끝까지 열심히 해내진 못했을텐데 함께 하자고 해주고 내내 같이 고생하고 힘냈던 겸둥쓰 고맙고 또 끝난것 축하해!!! 다음엔 뭘 또 할까!  &lt;/p&gt;</description>
      <category>SW 지식</category>
      <category>딥러닝</category>
      <category>머신러닝</category>
      <category>방송대</category>
      <category>방송통신대학교</category>
      <category>방통대</category>
      <category>시뮬레이션</category>
      <category>오픈소스기반데이터분석</category>
      <category>유닉스시스템</category>
      <category>컴파일러구성</category>
      <category>클라우드컴퓨팅</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/76</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/76#entry76comment</comments>
      <pubDate>Fri, 19 Dec 2025 09:53:30 +0900</pubDate>
    </item>
    <item>
      <title>[방송통신대학교] 4학년 1학기 컴퓨터과학과 수강후기</title>
      <link>https://idontlikemath-moonsong.tistory.com/75</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;저번 학기 후기 찌는데 아무래도 너무 기억이 안나서 더 생생한 후기를 남기기 위해 이번 학기도 빠르게 회고(?)해본다 &lt;br&gt;&lt;br&gt;이번 학기도 전공으로 채웠다 공식적인 성적은 아직 안나왔지만 채점결과는 나옴. 하 점수가 여전히 좀 아쉽고 그렇지만 그래도 이제 좀 컴과다운 과목들을 공부한 기분이라 뿌듯하긴 하다. 이제 한 학기 남았다. 시간 빠르네 진짜&lt;br&gt;&lt;br&gt;후기 렛쯔고&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;1219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bET3dx/btsOUWGQB7W/rfduLBgGaYmc7k5JCZba7K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bET3dx/btsOUWGQB7W/rfduLBgGaYmc7k5JCZba7K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bET3dx/btsOUWGQB7W/rfduLBgGaYmc7k5JCZba7K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbET3dx%2FbtsOUWGQB7W%2FrfduLBgGaYmc7k5JCZba7K%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;1206&quot; height=&quot;1219&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;1219&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 소프트웨어공학(4학년)&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;너무 하기 싫다 싫다 입에 달고 거의 포기하고 미뤘는데 점수가 제일 높게 나와버리는 마법의 과목.. 결국 기획자는 기획자다 이건가? 뭔 놈의 다이어그램 종류는 그렇게 많은지.. 이 두꺼운 책에서 기억에 남는건 딱하나.. 브룩스의 법칙ㅋㅋㅋ (지연되는 프로젝트에 인력을 더 투입하면 더 지연된다는..)&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oKlei/btsPn3sCzKe/zJqexW9Hb7UgjaWuiGkl4k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oKlei/btsPn3sCzKe/zJqexW9Hb7UgjaWuiGkl4k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oKlei/btsPn3sCzKe/zJqexW9Hb7UgjaWuiGkl4k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoKlei%2FbtsPn3sCzKe%2FzJqexW9Hb7UgjaWuiGkl4k%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;306&quot; height=&quot;103&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;103&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;br&gt;중간과제는 cpm 그리는 거였는데 다른 과목에 비해 어렵지는 않았다. PSAT 상황판단 문제에서 많이 접했던 거라 신기했다 다양한 분야의 다양한 주제로 별 희한한 문제들을 내는 시험이었군. 두꺼운 교과서만큼이나 내용이 많은데 타 과목이랑 달리 체계가 없어서 암기가 좀 중구난방이었다. 프로젝트 방법론과 문서화 방법을 배우는건데 문서화가..음 줄이겠다. 교수님도 이게 최선이셨을거 같다는 생각은 했다..&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 인공지능(3학년)&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;걱정보다 무시무시하지는 않았던.. 수학이 많았지만 계산 시키는거 아니라 수학을 읽을줄만 알면 됐다. 퍼지 이론 같이 되게 기본적인게 나왔고, 딥러닝 머신러닝 찍먹정도? 그런데 사실 .. 찍먹도 내겐 수월하진 않았는데 찐 딥러닝 머신러닝에 가랑이가 찢어질 내 다음학기가 너무나 두렵다&lt;br&gt;&lt;br&gt;인공지능 과제는&amp;nbsp;&amp;nbsp;A* 알고리즘 설명하고 그림으로 그리는거였는데 되게 귀찮았당. 그래도 뭔가 과목명이 주는 웅장함? 힙함? 때문에 열심히 봄 &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. 알고리즘(3학년) &lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;알고리즘 극혐러 치고는 강의 다 듣고 열심히했다(점수 제일 안나옴). 사실 계산(혹은 코드짜게하는거) 직접 안하게 하는게 진짜 크다ㅠㅠ 그림만 그리니깐 얼마나 이해가 쉬워.. 싸피놈들은 hello world 쳐본 지 두 달 정도 된 애들이 수도코드보고 알고리즘을 이해하기 바랐던건지..? (근데 이해한 다른 애들은 뭐지..?.. 난 어디에 있었던거지)&lt;br&gt;&lt;br&gt;출석수업과제는 정렬 알고리즘 한스텝 한스텝 그리는 거였다.. 퀵정렬이랑 셸정렬 두 개 였다 너무 힘들었는데 진짜 이렇게 노가다 해야 머리에 남는듯ㅋㅋㅋ 그림 종이에 대충 찌끄려보는거랑 별개로 과제로서 제출하려고 정리해서 문서 작성하는데 고민+시간소요가 많이 됐던 과제였다. 알고리즘도 결국 엄청난 응용 문제는 없고, 다 기본적인거라 한번씩만 그려보면 어느정도 감이 잡힘. 코드로 써보라고는 못하겠네 나는 못해서..^^ 코드는 읽는용.. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 컴퓨터보안(4학년)&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;개노잼일거라 생각했던 것에 비해 재밌었다. 이것도 막판에 열심히 봄. 암호화니 보안이니 나랑은 별 관련없다 생각했던 것들인데 요새 통신사나 예스24 사건 뉴스 나오는걸 읽을 수 있게 됐다 (?) &lt;br&gt;&lt;br&gt;보안 과제는 제일 정석적으로 나왔던 것 같다 전자서명 작동원리 같은거 그리고, ECC 알고리즘이었나? 타원곡선 사용해서 암호화하는거 말로 설명하고.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;5. 정보통신망(4학년)&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;나는 한 번도 개발자로 일 해본 적은 없지만 그래도 가슴 속 한 켠에 내가 개발자라면 프론트 개발자라고 생각해오고 있기 때문에.. 네트워크는 당연히 알아야지 싶어서 개인적으로 시간 젤 많이 투자해서 열심히 본 과목인데 점수에 배신 당해서 가슴은 쪼끔 아픈.. 그런 과목이다. 그래도 배우는 거 많았고 재밌었다 결국 다 보안이랑도 연결되기도 하고.이름은 들어봤는데 뭔지는 몰랐던 것들에 대해 배워서 더 좋았던 것 같다. 아예 처음 보는 개념을 보는 것 보다 좀 더 집중이 잘 됐었음&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;334&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/by4Ac4/btsPmiLqlrD/w1Ho1P356YRWIExpeKKZuK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/by4Ac4/btsPmiLqlrD/w1Ho1P356YRWIExpeKKZuK/img.jpg&quot; data-alt=&quot;밈해력 상승&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/by4Ac4/btsPmiLqlrD/w1Ho1P356YRWIExpeKKZuK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby4Ac4%2FbtsPmiLqlrD%2Fw1Ho1P356YRWIExpeKKZuK%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;293&quot; height=&quot;334&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;334&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;밈해력 상승&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;br&gt;아 맞아 그리고 중간과제가 진짜 대박이었다 ㅋㅋㅋㅋㅋㅋ주제 몇 개를 학번 끝나는 숫자별로 랜덤으로 정해서 관련해서 페이퍼를 쓰는거였는데 나는 무려 주제로 양자컴퓨터!!! 가 나와서!!!!!! ㅋㅋㅋㅋㅋㅋㅋㅋ진짜ㅋㅋㅋㅋ많이 웃었다 클라우드 컴퓨팅 AI 이런거 다 놔두고 양자 컴퓨터라닠ㅋㅋㅋ 큐비트를 이해하기 위해서 유튜브 영상을 얼마나 봤는지 모른다 진짜 지금 생각해도 너무 웃기다(아니 안웃김)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;6. 유비쿼터스컴퓨팅개론(1학년)&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;자료구조 교수님이랑 같은 교수님인데 아무래도 일학년 과목이라 그런지 영상 촬영기법에 많은 도전을 하신다(브이로그 등). 교수님을 웃겨하는것과 별개로 사실 수업 듣는거 자체가 좀 힘들었음.. 뭔가 상식과 지식이 뒤섞인 과목인데 그래서 오히려 더 광범위하게 느껴졌다. 유튜브에 조교님이 기출 해설 해놓은거 있는데 거기서 문제가 많이 나왔다 참고! &lt;br&gt;&lt;br&gt;중간과제가 여러 생성형 AI에 질문 해보고 답변 비교하는 거였는데 세상에 이렇게 귀찮을 수가 없었다. 당시에 폭싹 속았수다 열심히 볼 때라서 관련해서 씀.. 대신 정답이 없는 과제다보니 마음의 부담도 적어서 빠르게 해치울 수 있어 좋았다. 거의 복붙이긴 해서 머리 안 써도 됨&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1553&quot; data-origin-height=&quot;1122&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bh4Dud/btsOTP9wVDj/0znKBA7VPaLxYieyc3kRK0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bh4Dud/btsOTP9wVDj/0znKBA7VPaLxYieyc3kRK0/img.jpg&quot; data-alt=&quot;겸둥이한테 나같다고 받음…&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bh4Dud/btsOTP9wVDj/0znKBA7VPaLxYieyc3kRK0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbh4Dud%2FbtsOTP9wVDj%2F0znKBA7VPaLxYieyc3kRK0%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;1553&quot; height=&quot;1122&quot; data-origin-width=&quot;1553&quot; data-origin-height=&quot;1122&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;겸둥이한테 나같다고 받음…&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;잠과 체력이 너무너무 부족했던 3개월이었다 &lt;br&gt;&lt;br&gt;원랜 퇴근하고 각잡고 강의를 들었었는데, 이렇게 취미생활(=컴퓨터공뷰)하느라 본 업무에 역량이 떨어지는 것 같아서 그 죄책감에 PM 부캠을 들었는데 그 때부터 인생 난이도가 너무나 헬이었다. 그냥 체력이.. 잠과 체력이 너무 달려서 힘들었다... 원래 정리하면서 수업 듣는데 부트캠프 시작부터 출근시간에 지하철에서 수업 들었고 벼락치기 가능할 정도로 눈에만 바르자 생각했음. 과거의 내 자신을 진짜 죽이고싶었다ㅠ 회사도 바빴다. 학기중에 론칭 하나했구.. 새 프젝 기획도 하는중인데(막막) 아 할말하않이지만 지금 크게 가져가던 일상 2개가 다 끝난 관계로 걍 행복하다!!!!! &lt;/p&gt;</description>
      <category>SW 지식</category>
      <category>4학년</category>
      <category>방송대</category>
      <category>방송통신대학교</category>
      <category>방통대</category>
      <category>소프트웨어공학</category>
      <category>알고리즘</category>
      <category>유비쿼터스컴퓨팅개론</category>
      <category>인공지능</category>
      <category>정보통신망</category>
      <category>컴퓨터보안</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/75</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/75#entry75comment</comments>
      <pubDate>Fri, 27 Jun 2025 09:57:39 +0900</pubDate>
    </item>
    <item>
      <title>[방송통신대학교] 3학년 2학기 컴퓨터과학과 전공과목 수강 후기</title>
      <link>https://idontlikemath-moonsong.tistory.com/74</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;기왕 지옥으로 걸어들어가는거 교양 따위 듣지 않는다. 2학기 수강신청 기간이 다가와 호다닥 쪄보는(많이 검색해주세요) 저번학기(3학년 2학기) 컴퓨터과학과 전공과목 수강후기 &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;1219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QwL9H/btsOOdbTCh3/hnsPvxzEJ4aKyBKiIkiutK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QwL9H/btsOOdbTCh3/hnsPvxzEJ4aKyBKiIkiutK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QwL9H/btsOOdbTCh3/hnsPvxzEJ4aKyBKiIkiutK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQwL9H%2FbtsOOdbTCh3%2FhnsPvxzEJ4aKyBKiIkiutK%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;1206&quot; height=&quot;1219&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;1219&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 클라우드컴퓨팅(4학년) &lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;교수님.. 저한테 왜그러세요? 과제가 azure 기본 설정하는거였고 페이지별로 캡쳐 + 항목별로 설명 적는거라 아주 귀찮았는데 그걸 만점받고 시험을 ^^ 아주 조져놨다! Aws 자격증 공부한적있다고 그거 믿고 사실 쫌 열심히 안 본 거 인정하지만.. 근데 이렇게까지 점수가 안나올줄은 몰라서 좀 당황했다. 정재화 교수님의 기말 시험은 뭔가 허를 찌르는 그런 것이 있음 쉬워 보여도 문제를 세번씩 읽으세요 + 과제 내용도 열심히 보세요. 이건 재수강은 안하고 그냥 자격증 따는걸로 갈음하려 함 별별 핑계로 엄청 미뤘었는데(거의 반년을..) 이번에는 꼭 치러간다.. &lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. UNIX시스템(3학년) &lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;교수님 저한테 왜그러세요 part2 &lt;br&gt;&lt;br&gt;이건 진짜 레알로 조져서! 다음 학기(4학년 2학기) 재수강 한다… 누구든 이 글을 보신다면 시험 당일 새벽 1시에 1시간에 한챕터 도장깨기 시작하시면 안됩니다. 그대로 처발릴 것이니.. 과제는 록키리눅스 설치부터 시작되는데 vmware 웹사이트 메뉴트리가 개쓰레기니 웹사이트에서 찾지말고 그냥 터미널에서 깔길 추천합니다.. 그냥 설치가 끝이었던거같다. 일일히 캡쳐 뜨고 설명 쓰고 하는게 쫌 귀찮았음. 책이 엄청 두껍고.. 명령어 암기 과목이다.. 명령어 왜 이렇게 많은건지..ㅠ 문과라 암기 자신있다고 생각했는데 아님 ㅋㅋ 터미널 잘 쓰는 사람이 찐 개발자라 그러던데 난 그냥 평생 가라로 남는것이 좋을 것 같다 ㅎㅎ 정신건강에도.. &lt;br&gt;&lt;br&gt;&lt;br&gt;ㅋㅋㅋ 어떤거 들었는지 기억해내려 애썼지만 망친것만 기억나네 웃겨. 학사정보 들어가본다&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;3. 컴퓨터구조(3학년) &lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;기억 안 난다고 하자마자 말하긴 웃기지만.. 공부할 때는 제일 즐겁게 공부했다(놀랍지 진짜임). 겸둥이가 컴퓨터구조 교과서 말고 책 사서 빌려줬는데 그 책이 진짜 잘 설명되어있었음. 정리도 쓸데없이 진짜 열심히 했는데 시간이 나면 노트를 여기다가 올려보려구 한다. 왜냐면 나의 기억에서도 거의 휘발되었기 때문에 리마인드 차.. 시험이 어려웠는지 이런건 기억 안나는데 공부하기에 양은 많았다. 보통 시험 공부할 땐 기출 보면서 감을 잡고 회독을 시작하는 편이었는데, 이건 양도 많고 바로바로 이해안되는 부분이 많아 기출 분석도 시간이 꽤 걸릴 수 있으니 회독 하고 들어가는게 훨씬 시간효율적일 것 같다.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;4. 프로그래밍언어론(2학년) &lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;진짜 뭐배웠는지 기억이 하나두안나네.. 책을 좀 뒤져봐야겠음. 뭘까 algol부터 시작해서 진화하는걸 배웠을까? 보통 과제를 떠올리면 떠오르는데 기억이 정말 하나두안난당 놀랍다. 아 책을 좀 뒤져봤는데 기본적인 코드 구조같은걸 배웠다. 변수란 뭔지, 서브프로그램이란 뭔지. 대체로 Java 아니면 C로 예제가 나왔음. 그래서 선수과목으로 C를 들으라 했던거 같다. 근데 뭐 안 들어도 상관은 없을듯. 과제도 방금 뭘 했는지 찾아봤는데 그냥저냥 정의에 대해 서술하는거였어서 무난했던거 같다 아 구문도표? EBNF? 직접 그리라고 한건 좀 힘들었던 기억. &lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br&gt;&lt;b&gt;5. 자료구조(2학년) &lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;자료구조는 팡식 교수님이 수업하는게 그저 웃김 약간 이장원 재질.. 과연 천재가 아닐까 하는 웃음 포인트들과(재미없다는 뜻) 괴짜같음이 호불호가 갈리는거 같지만 난 호 ㅋㅋㅋㅋ 책도 보면 교수님 말투로 써져있음 그게 묘하게 웃기다ㅋㅋㅋㅋ 교수님 선호도와 관계없이 자료구조는 꼭 듣는걸 추천한다! 알고리즘 웜업 느낌? 자료구조도 다루고, 엄청 간단한 기본 알고리즘은 다룬다(정렬이나.. DFS, BFS 같은 기본 트리탐색 알고리즘들) 다음에 들을 알고리즘 수업 초반 범위 다 커버하니깐 그냥 아묻따 듣길.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br&gt;&lt;b&gt;6. 선형대수(2학년)&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;조교님 짱짱맨! 수포러들은 가야함 어디에? 출석수업에! 나는 진짜 알아주는 수포자인데 이런 나를 이해시키신 대단하신 분들은 다 조교님들이었다.. 행렬이 바로 등장하므로 수학 정말 모른다 싶은 사람들은 이산수학 먼저 보는게 좋을듯. 벡터 이름만으로도 너무 무섭지만 그렇다고 아예 모르겠다 싶을 정도로 말도안되는게 나오지는 않는다. 아 정말 모르겠다 싶었던건 교수님 문제풀이 유튜브 영상을 쫌 봤던 것 같다. 솔직히 엄청 차근차근 해주셔서 모를 수 없음 + 애초에 대학 특성상 그렇게 빡센 계산 시키지 않으니 걱정 ㄴㄴ &lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;266&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQdnqo/btsOOARSEpJ/Nznzc0mKoZOxXXAy1UYTuK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQdnqo/btsOOARSEpJ/Nznzc0mKoZOxXXAy1UYTuK/img.jpg&quot; data-alt=&quot;1학기때 성적 찾아줘ㅠ &quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQdnqo/btsOOARSEpJ/Nznzc0mKoZOxXXAy1UYTuK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQdnqo%2FbtsOOARSEpJ%2FNznzc0mKoZOxXXAy1UYTuK%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;266&quot; height=&quot;276&quot; data-origin-width=&quot;266&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;1학기때 성적 찾아줘ㅠ &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;이 학기는 내가 왜 이런 고생을 사서 하고 있는가 하는 성찰의 학기였다.. 내가 평생 리눅스 명령어 쓸일이 있겠냐고.. 한 열댓번은 얘기했던거같다.. (그렇게 치면 사실 아무것도 쓸 일 있는건 없음). 그래도 어찌저찌 걍 하다보니 3/4이 지나왔다 ㅋㅋㅋㅋㅋㅋ 얻은건 함께 고생하고있는 겸둥이와의 전우애와 개발자 혈육과의 개선된 소통 정도..? 뭐 그정도면됐지..&lt;/p&gt;</description>
      <category>SW 지식</category>
      <category>3학년</category>
      <category>Unix시스템</category>
      <category>방송대</category>
      <category>방송통신대학교</category>
      <category>방통대</category>
      <category>자료구조</category>
      <category>컴퓨터과학과</category>
      <category>컴퓨터구조</category>
      <category>클라우드컴퓨팅</category>
      <category>프로그래밍언어론</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/74</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/74#entry74comment</comments>
      <pubDate>Tue, 24 Jun 2025 09:18:03 +0900</pubDate>
    </item>
    <item>
      <title>[간단 크롤러 만들기] 튼튼머니 적립시설 크롤러(w/ Selenium &amp;amp; BeautifulSoup)</title>
      <link>https://idontlikemath-moonsong.tistory.com/72</link>
      <description>&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;1248&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zLH80/btsN2lBuISo/LSeIMWjS2yKBnV4QZs9qvk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zLH80/btsN2lBuISo/LSeIMWjS2yKBnV4QZs9qvk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zLH80/btsN2lBuISo/LSeIMWjS2yKBnV4QZs9qvk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzLH80%2FbtsN2lBuISo%2FLSeIMWjS2yKBnV4QZs9qvk%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;1206&quot; height=&quot;1248&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;1248&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;개발자가 안된다고 해서 만들어본 크롤러.. (크롤링이 안된다고 한건 아니고, 검토해 달라고 했는데 검토도 안 해줘서..&amp;nbsp; 안 되는 건 안 되는 거지만 예전부터 크롤링하는 법 궁금하기도 해서 일단 어떻게 할지 찾아봄)&lt;br&gt;&lt;br&gt;퇴근 후에 커피챗 시간 기다리면서 뚱땅뚱땅 해봤는데 금방 만들었음(따봉지피티야 고마워)&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;GitHub - qminlee723/web-scraper: when dev team is too busy..&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;when dev team is too busy.. . Contribute to qminlee723/web-scraper development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/qminlee723/web-scraper&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/P6e0r/hyYU3i3Vpv/MzlvTeCu7UlokOcEVkl5Lk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot; data-og-url=&quot;https://github.com/qminlee723/web-scraper&quot;&gt;&lt;a href=&quot;https://github.com/qminlee723/web-scraper&quot; target=&quot;_blank&quot; data-source-url=&quot;https://github.com/qminlee723/web-scraper&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/P6e0r/hyYU3i3Vpv/MzlvTeCu7UlokOcEVkl5Lk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;GitHub - qminlee723/web-scraper: when dev team is too busy..&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;when dev team is too busy.. . Contribute to qminlee723/web-scraper development by creating an account on GitHub.&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;github.com&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;~참고로 만든건 3월 중순쯤 만들었음 늦은 포스팅~ &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 개발 목적&lt;/b&gt;&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;국민체육진흥공단의 튼튼머니 적립시설 목록 사이트(https://nfa.kspo.or.kr/spoint/selectSpointFacility.kspo)에서 전국의 적립시설 정보를 자동으로 수집하여 CSV 파일로 저장하는 Python 크롤러&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;총 적립 시설 수 약 4,000개인데, 한 페이지에 10개 시설만 노출되어 있어 수작업 시간 오래 걸림(약 400 페이지)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;자동으로 페이지를 넘겨 데이터 크롤링 하여 표 만들기&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 기능&lt;/b&gt;&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;Selenium을 이용해 페이지를 자동으로 넘기고&lt;/li&gt;&lt;li&gt;BeautifulSoup으로 html 파싱(시설명, 지역, 주소, 연락처)&lt;/li&gt;&lt;li&gt;날짜별로 csv 결과 파일 생성&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. csv 파일 구조&lt;/b&gt;&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;지역 | 시설명 | 주소 | 연락처&lt;br&gt;—— | ——— | —— | ———&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 코드&lt;/b&gt;&lt;/h4&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup
import csv
import time
from datetime import datetime

today = datetime.now().strftime(&quot;%Y-%m-%d&quot;)
output_file = f&quot;튼튼머니_적립시설_{today}.csv&quot;

columns = [&quot;지역&quot;, &quot;시설명&quot;, &quot;주소&quot;, &quot;연락처&quot;]

with open(output_file, &quot;w&quot;, newline=&quot;&quot;, encoding=&quot;utf-8-sig&quot;) as f:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer = csv.writer(f)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.writerow(columns)

options = webdriver.ChromeOptions()
options.add_argument(&quot;--start-maximized&quot;)

driver = webdriver.Chrome(options=options)

# 실제 페이지 URL 넣기
driver.get(&quot;https://nfa.kspo.or.kr/spoint/selectSpointFacility.kspo&quot;)
wait = WebDriverWait(driver, 10)

MAX_PAGE = 402

for page in range(1, MAX_PAGE + 1):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&quot;  페이지 {page} 처리 중...&quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(2)&amp;nbsp;&amp;nbsp;# 페이지 로딩 대기

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# HTML 가져오기
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;soup = BeautifulSoup(driver.page_source, &quot;html.parser&quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rows = soup.select(&quot;tr&quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_data = []
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mcons = row.select(&quot;div.mCont&quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if mcons:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values = [m.text.strip() for m in mcons]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if values:
&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;&amp;nbsp;page_data.append(values)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with open(output_file, &quot;a&quot;, newline=&quot;&quot;, encoding=&quot;utf-8-sig&quot;) as f:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer = csv.writer(f)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.writerows(page_data)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&quot;✅ 페이지 {page} 저장 완료 ({len(page_data)}개 항목)&quot;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# 다음 페이지 클릭 (마지막 페이지는 클릭 X)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if page &amp;lt; MAX_PAGE:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;next_page_str = str(page + 1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;next_button = wait.until(EC.element_to_be_clickable(
&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;&amp;nbsp;(By.XPATH, f&quot;//a[contains(@onclick, \&quot;pageinfo('{next_page_str}')\&quot;)]&quot;)))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;next_button.click()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except Exception as e:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&quot;❌ 페이지 {page+1} 이동 실패: {e}&quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break

driver.quit()
print(f&quot;  전체 크롤링 완료! 저장된 파일명: {output_file}&quot;)&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;GitHub - qminlee723/web-scraper: when dev team is too busy..&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;when dev team is too busy.. . Contribute to qminlee723/web-scraper development by creating an account on GitHub.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/qminlee723/web-scraper&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/P6e0r/hyYU3i3Vpv/MzlvTeCu7UlokOcEVkl5Lk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600&quot; data-og-url=&quot;https://github.com/qminlee723/web-scraper&quot;&gt;&lt;a href=&quot;https://github.com/qminlee723/web-scraper&quot; target=&quot;_blank&quot; data-source-url=&quot;https://github.com/qminlee723/web-scraper&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/P6e0r/hyYU3i3Vpv/MzlvTeCu7UlokOcEVkl5Lk/img.png?width=1200&amp;amp;height=600&amp;amp;face=0_0_1200_600')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;GitHub - qminlee723/web-scraper: when dev team is too busy..&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;when dev team is too busy.. . Contribute to qminlee723/web-scraper development by creating an account on GitHub.&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;github.com&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;br&gt;뷰티풀숲이니 셀레늄이니 말만 들어봤는데 직접 써봤다. 이쯤 되면 나에게 안된다고 하는 개발팀이 내 자기 계발의 원동력일지도..&lt;br&gt;&lt;br&gt;개발 말고 나처럼 코딩만 대충 하는 사람들에게 살기 좋은 세상이다.. 간단한 건 큰 노력 없이도 그럴듯하게 다 만들 수 있는 걸&lt;br&gt;&lt;br&gt;안 좋은 점은 있는 익스텐션/라이브러리 쓰면 되는걸 자꾸 코딩으로 해결 보려고 한다는 거다 ㅋㅋㅋ 몰라 궁금해서 해보고 싶은데 어떡해? 하고 싶으면 하는 거지 흥&lt;br&gt;&lt;br&gt;내 주언어는 쟈스인데.. 이런 걸 자꾸 파이썬으로 맹글다 보니까 이제 파이썬이 좀 더 익숙한 거 같기도 하고~ &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;qminlee723 - Overview&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;An aspiring learner with a strong interest in front-end development. Seeking opportunities to build my portfolio and gain real-world experience. since 2022   - qminlee723&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/qminlee723&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dsmA8Z/hyYU8EESrh/316SBcwYMZVz4G2m7RK7h1/img.png?width=460&amp;amp;height=460&amp;amp;face=0_0_460_460&quot; data-og-url=&quot;https://github.com/qminlee723&quot;&gt;&lt;a href=&quot;https://github.com/qminlee723&quot; target=&quot;_blank&quot; data-source-url=&quot;https://github.com/qminlee723&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dsmA8Z/hyYU8EESrh/316SBcwYMZVz4G2m7RK7h1/img.png?width=460&amp;amp;height=460&amp;amp;face=0_0_460_460')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;qminlee723 - Overview&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;An aspiring learner with a strong interest in front-end development. Seeking opportunities to build my portfolio and gain real-world experience. since 2022   - qminlee723&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;github.com&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;i&gt;또 뭐를 만들고 있는지 궁금하면 와보시조!&lt;/i&gt;&lt;/p&gt;</description>
      <category>SW 지식</category>
      <category>BeautifulSoup</category>
      <category>Python</category>
      <category>Selenium</category>
      <category>매크로</category>
      <category>뷰티풀숲</category>
      <category>셀레늄</category>
      <category>크롤러</category>
      <category>크롤링</category>
      <category>파이썬</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/72</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/72#entry72comment</comments>
      <pubDate>Sun, 18 May 2025 21:52:44 +0900</pubDate>
    </item>
    <item>
      <title>[99클럽] 코테 스터디 후기 feat.자바/미들러</title>
      <link>https://idontlikemath-moonsong.tistory.com/71</link>
      <description>&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;950&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GO0e6/btsMA7ZxzJ2/7L3BdaVRn9Uk6n35Wv8H40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GO0e6/btsMA7ZxzJ2/7L3BdaVRn9Uk6n35Wv8H40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GO0e6/btsMA7ZxzJ2/7L3BdaVRn9Uk6n35Wv8H40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGO0e6%2FbtsMA7ZxzJ2%2F7L3BdaVRn9Uk6n35Wv8H40%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;700&quot; height=&quot;950&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;950&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;700&quot; data-origin-height=&quot;950&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzwIUK/btsMAiUSmYg/WCANcNuLvSKBNkM1UKVrN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzwIUK/btsMAiUSmYg/WCANcNuLvSKBNkM1UKVrN1/img.png&quot; data-alt=&quot;숨막히던 하루하루&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzwIUK/btsMAiUSmYg/WCANcNuLvSKBNkM1UKVrN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzwIUK%2FbtsMAiUSmYg%2FWCANcNuLvSKBNkM1UKVrN1%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;700&quot; height=&quot;950&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;950&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;숨막히던 하루하루&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;누구도 내 블로그를 그렇게까지 정독하진 않겠지만 TIL 잘 읽어보면 못 푼 문제도 있고 시간초과 난 것도 있다. 그래도 매일매일 문제를 읽고 머리를 싸맸다는데 의의를.. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 스터디를 찾게 된 계기&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 친구 따라 강남 간 나&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;i&gt;- 자바 왕국 살면서 자바는 한 번 써봐야지?&lt;/i&gt;&lt;br&gt;- 라는 친구의 설득에 덜컥 자바를 시작(너가 왜?;)&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2532&quot; data-origin-height=&quot;1170&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c6V10Q/btsMCspw8Ne/A1i3NXWfq5ba0QP78SvvGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c6V10Q/btsMCspw8Ne/A1i3NXWfq5ba0QP78SvvGk/img.png&quot; data-alt=&quot; 첫 문제에서 내가 구글에 검색한 것ㅋ&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c6V10Q/btsMCspw8Ne/A1i3NXWfq5ba0QP78SvvGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6V10Q%2FbtsMCspw8Ne%2FA1i3NXWfq5ba0QP78SvvGk%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;2532&quot; height=&quot;1170&quot; data-origin-width=&quot;2532&quot; data-origin-height=&quot;1170&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt; 첫 문제에서 내가 구글에 검색한 것ㅋ&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 인풋 받는거부터 엄청 헤맸다 사실 한 번에 받는게 BufferedReader고 하나씩 받는게 Scanner인거까진 이해했는데 스캐너 한 번도 안 써봤다 그냥 처음에 인풋 받은게 BufferedReader였기 때문에.. 관성의 이유  ‍♀️&lt;br&gt;- 암튼 초반엔 자바 엄청욕했다 왜 하나하나 다 정의해줘야되는 이딴 언어를 쓰는지.. 그러고 시간초과 나는 파이썬 코드 보고 약간 맘 누그러짐&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 99클럽을 선택한 이유는?&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;- 이것 또한 친구따라 강남 간 나(팔랑)&lt;br&gt;- 커리큘럼이 확고해서 좋았고, 사실 &lt;b&gt;미션 완료하면 환급&lt;/b&gt;받을 수 있다는 점이 가장 큰 매력이었다  &lt;br&gt;- TIL을 하루 놓쳐서 공짜는 아니고 2,000원 내고 한 꼴이긴한데 단돈 2,000원에 이런 경험? 나쁘지않다고 생각한다 &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;3&lt;b&gt;. 99클럽 참여 경험&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 평일 매일 알고리즘 문제 한 개 씩! &lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;- 일주일 내내 하나의 알고리즘 분류에 해당하는 문제들을 풀 수 있는 점이 가장 좋았다!&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;- 나.. aka 알고리즘 바보.. 하루로는 부족하다&lt;br&gt;- 월요일은 실버따리 문제 주고 금욜에는 골드 준다(점점 어려워짐) &lt;br&gt;- 이진탐색, DFS/BFS, Greedy, DP 순 &lt;br&gt;- 매주 월요일 디스코드 출석도 해야해서 살짝 귀찮을 수 있지만 그래도 엄청 엄격하진 않다! 싸피의 짤없음 경험해본 나로서는 아주 제너러스하다 느꼈음&lt;br&gt;- 백준 문제만 나왔는데 백준 개인적으로 너무 불편하다 프로그래머스나 리트코드 문제도 섞여 나올 줄 알았는데 그렇지 못한 점은 아쉬움 &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. &lt;b&gt;개인 성장 및 결과&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;-&amp;nbsp;사실 알고리즘 성장력은 잘 모르겠다&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;나는 아직도 알고리즘 바보고 BFS DFS 아직도 너무너무너무 헷갈린다! 나는 진짜 멍청!하다! 그래도 어제의 나보단 좀 덜 멍청하겠지..&lt;br&gt;- 그래도 &lt;b&gt;개념 잡기엔 좋았다&lt;/b&gt;! Greedy가 뭔지, DP가 뭔지 전부는 아니더라도 문제(+알고리즘 힌트)보면 아 이 알고리즘이 어떤 부분에서 쓰이겠구나 정도까진 감이 오는? 근데 DP는 감 안옴ㅎㅎㅋㅎ 진짜 얜뭐지? 이것도 성장이라 할수있나..&lt;br&gt;- 덕분에 잔디도 열심히 심었다. 마크다운 난무하는 내 깃헙 레포에 코드 커밋하는게 도대체 얼마만인지.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;qminlee723 - Overview&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;An aspiring learner with a strong interest in front-end development. Seeking opportunities to build my portfolio and gain real-world experience. since 2022   - qminlee723&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/qminlee723&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mR495/hyYmNH4OXY/KSKMxxBECCFhChkQOgpGwk/img.png?width=460&amp;amp;height=460&amp;amp;face=0_0_460_460&quot; data-og-url=&quot;https://github.com/qminlee723&quot;&gt;&lt;a href=&quot;https://github.com/qminlee723&quot; target=&quot;_blank&quot; data-source-url=&quot;https://github.com/qminlee723&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mR495/hyYmNH4OXY/KSKMxxBECCFhChkQOgpGwk/img.png?width=460&amp;amp;height=460&amp;amp;face=0_0_460_460')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;qminlee723 - Overview&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;An aspiring learner with a strong interest in front-end development. Seeking opportunities to build my portfolio and gain real-world experience. since 2022   - qminlee723&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;github.com&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. &lt;b&gt;다른 학습 방식과의 비교&lt;/b&gt;&lt;/h3&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;1058&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cH7Uep/btsMC6zvCjb/K2bzZEZLzKhPOxoXcgZpl0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cH7Uep/btsMC6zvCjb/K2bzZEZLzKhPOxoXcgZpl0/img.jpg&quot; data-alt=&quot;Because I can&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cH7Uep/btsMC6zvCjb/K2bzZEZLzKhPOxoXcgZpl0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcH7Uep%2FbtsMC6zvCjb%2FK2bzZEZLzKhPOxoXcgZpl0%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;1206&quot; height=&quot;1058&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;1058&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Because I can&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- 브론즈와 타협하는 습관을 버리게 해 줌&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;- &lt;/b&gt;사실 문제 한 개 꾸준히 푸는 건 어렵지 않았다.. 프로그래머스 레벨 0-1 하나 매일 푸는 것도 문제 푸는거라고 카운트 된다면.. 메서드 공부하는거라고 자위하며 이렇게 커밋한 적도 많았다ㅋㅋㅋ 솔직히 이렇게 아예 안 써본 언어 시작할땐 좋다 인정? 자스도 자바도 이렇게 연습함&lt;br&gt;- 가장 좋았던 부분은 알고리즘을 하나 정해서 일주일 내내 연습할 수 있다는 것이었는데 (조금씩 어려워지지만) 그러면 운 좋게 문제 한 두개 얻어걸려서 한 번에 맞을때가 있다! 그때 기분째짐 &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;5. 추천하고 싶은 사람과 이유&lt;/b&gt;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- &lt;/b&gt;꾸준히 습관을 잡고 싶은 사람들에게도 추천하지만, 나처럼 &lt;b&gt;편한 길에 안주하려고 하는, 그럼에도 꾸준히 하는 나 자신에 취해서 얼마나 느리게 가고 있는지 자기객관화가 안 되는 사람&lt;/b&gt;에게도 추천한다.&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 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;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;889&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Lam7a/btsMDxDoNvx/2P3E0cbpfR41uAz5aRk39k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Lam7a/btsMDxDoNvx/2P3E0cbpfR41uAz5aRk39k/img.jpg&quot; data-alt=&quot;내 인생모토&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Lam7a/btsMDxDoNvx/2P3E0cbpfR41uAz5aRk39k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLam7a%2FbtsMDxDoNvx%2F2P3E0cbpfR41uAz5aRk39k%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;1206&quot; height=&quot;889&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;889&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;내 인생모토&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무튼 매일매일 문제를 풀었다. 나이도 많고 뭐 어디서 개발자로 일할 것도 아닌데 이게 더 이상 의미가 있나 싶긴 한데 아몰라~~~~ 내 인생인데 누가 머라든 알빠야? 일단 님보단 세상을 넓게 보고 살고 있답니다 그게 비록 자기만족에 그칠 뿐이라도 (야근해서 태도가 공격적인 점 이해바람)&lt;br&gt;&lt;br&gt;암튼.. 알고리즘 하나도 기억 못하고 파이썬 쟈스로만 코테 문제 풀어왔던 인간도 (울면서) 따라갈만했다. 열심히 살고 있다는 자기만족감 자기효능감 가졌던 좋은 한 달 이었음. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;https://bit.ly/99clubCodingtestStudy&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;https://bit.ly/99clubCodingtestStudy&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;코딩 테스트 스터디, 99클럽&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;1일 1코테 문제로 습관을 만드세요. 현직 개발자 특강부터 취업, 이직 정보 교류까지. 코딩 테스트 준비를 위해 필요한 모든 것을 스터디 하나로!&quot; data-og-host=&quot;hanghae99.spartacodingclub.kr&quot; data-og-source-url=&quot;https://hanghae99.spartacodingclub.kr/99club-codingtest&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bwSShg/hyYqQ4m7Wg/Eqq5QFvH4MaLJQ5tBPxMkk/img.jpg?width=1600&amp;amp;height=800&amp;amp;face=0_0_1600_800&quot; data-og-url=&quot;https://hanghae99.spartacodingclub.kr/99club-codingtest&quot;&gt;&lt;a href=&quot;https://hanghae99.spartacodingclub.kr/99club-codingtest&quot; target=&quot;_blank&quot; data-source-url=&quot;https://hanghae99.spartacodingclub.kr/99club-codingtest&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bwSShg/hyYqQ4m7Wg/Eqq5QFvH4MaLJQ5tBPxMkk/img.jpg?width=1600&amp;amp;height=800&amp;amp;face=0_0_1600_800')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;코딩 테스트 스터디, 99클럽&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;1일 1코테 문제로 습관을 만드세요. 현직 개발자 특강부터 취업, 이직 정보 교류까지. 코딩 테스트 준비를 위해 필요한 모든 것을 스터디 하나로!&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;hanghae99.spartacodingclub.kr&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;/p&gt;</description>
      <category>boj</category>
      <category>java</category>
      <category>백준</category>
      <category>알고리즘</category>
      <category>자바</category>
      <category>코테스터디</category>
      <category>항해99</category>
      <category>항해99후기</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/71</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/71#entry71comment</comments>
      <pubDate>Fri, 7 Mar 2025 00:51:08 +0900</pubDate>
    </item>
    <item>
      <title>[우선순위큐][Java][BOJ] #31680. 열심히 일하는 중</title>
      <link>https://idontlikemath-moonsong.tistory.com/70</link>
      <description>&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;#우선순위큐&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;#Silver2&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/31860&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/31860&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;✏️ 백준 연습문제: #31680. 열심히 일하는 중&lt;/b&gt;&lt;br /&gt;송이는 이번 학기에 할 일이 매우 많다.&amp;nbsp;N$N$개의 일 중 어떤 일부터 해야 할지 고민하던 중 송이에게 좋은 아이디어가 떠올랐다! 바로 해야 할 일 각각의 중요도를 산정하고, 중요도가 높은 일부터 하는 것이다. 송이는 하루에 하나의 일만 처리할 수 있으며, 일을 처리한 후 그 일의 중요도는&amp;nbsp;M$M$만큼 감소한다. 일의 중요도가&amp;nbsp;K$K$&amp;nbsp;이하가 되면 그 일은 완료한 것으로 간주한다. 중요도를 일별로 산정하던 중 송이는 문득 일하면서 본인이 매일 느낄 만족감이 궁금해졌다. 오늘의 만족감은 전날의 만족감을&amp;nbsp;Y$Y$, 오늘 할 일의 중요도를&amp;nbsp;P$P$라 할 때&amp;nbsp;&amp;lfloor;Y/2&amp;rfloor;+P$\lfloor Y/2 \rfloor+P$와 같다.&lt;br /&gt;예를 들면 다음과 같다. 전날 송이의 만족도가&amp;nbsp;21$21$이고, 송이가 오늘 할 일의 중요도가&amp;nbsp;10$10$,&amp;nbsp;M$M$의 값이&amp;nbsp;4$4$라고 가정했을 때 송이가 오늘 느낄 만족감은&amp;nbsp;&amp;lfloor;212&amp;rfloor;+10$\lfloor \frac{21}{2} \rfloor+10$&amp;nbsp;=&amp;nbsp;20$20$이 된다. 이후 송이가 오늘 한 일의 중요도는&amp;nbsp;4$4$만큼 감소해서&amp;nbsp;6$6$이 된다.&lt;br /&gt;송이가 해야 할 일의 개수&amp;nbsp;N$N$, 일을 처리했을 때 감소하는 중요도&amp;nbsp;M$M$, 완료한 것으로 간주하는 중요도의 최댓값&amp;nbsp;K$K$가 주어진 후,&amp;nbsp;i$i$번 일이 가지는 중요도&amp;nbsp;Di$D_i$가 입력으로&amp;nbsp;N$N$개 주어진다. 송이가 모든 일을 끝낼 때까지 며칠이 걸리는지, 그리고 모든 일을 끝낼 때까지 송이가 일별로 느낀 만족감을 한 줄마다 출력하자. 단, 첫날의 경우 전날의 만족감을&amp;nbsp;0$0$으로 간주한다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;⌨️ 입력&lt;/b&gt;&lt;br /&gt;첫째 줄에 정수 N, M, K가 공백으로 구분되어 주어진다. (2&amp;le;N&amp;le;2000;1&amp;le;M&amp;le;5;1&amp;le;K&amp;le;3)$(2 \leq N \leq 2 \, 000; 1\leq M \leq 5; 1 \leq K \leq 3)$ &lt;br /&gt;둘째 줄부터 N개의 줄에 걸쳐 해야 하는 일의 중요도 정수 Di$D_i$가 주어진다. (M&amp;lt;Di,K&amp;lt;Di,Di&amp;le;1000)$(M&amp;lt; D_i, K &amp;lt; D_i, D_i \leq 1 \, 000)$ &lt;br /&gt;&lt;br /&gt;&lt;b&gt; ️ 출력&lt;/b&gt;&lt;br /&gt;첫째 줄에 송이가 일을 다 하기 위해 걸리는 날의 수를 출력한다.&lt;br /&gt;둘째 줄부터 일을 끝내는 날까지 일별로 느낀 만족감을 한 줄씩 구분해 출력한다.&lt;/blockquote&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;입출력 예&lt;/b&gt;&lt;/h2&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: 66.6279%;&quot;&gt;입력&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%;&quot;&gt;출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 66.6279%;&quot;&gt;2&amp;nbsp;5&amp;nbsp;3&lt;br /&gt;10&lt;br /&gt;18&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%;&quot;&gt;&lt;span&gt;5&lt;/span&gt;&lt;br /&gt;&lt;span&gt;18&lt;/span&gt;&lt;br /&gt;&lt;span&gt;22&lt;/span&gt;&lt;br /&gt;&lt;span&gt;21&lt;/span&gt;&lt;br /&gt;&lt;span&gt;18&lt;/span&gt;&lt;br /&gt;&lt;span&gt;14&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  해결 포인트&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;1.&amp;nbsp; 우선순위 큐... 일단 시간초과..&lt;/b&gt;&lt;/blockquote&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;내&amp;nbsp;&lt;/b&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1.&amp;nbsp; 우선순위 큐(시간초과)&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1737133233474&quot; class=&quot;java&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String[] line = br.readLine().split(&quot; &quot;);
        int N = Integer.parseInt(line[0]); // 해야 할 일 수
        int M = Integer.parseInt(line[1]); // 하루에 감소하는 중요도
        int K = Integer.parseInt(line[2]); // K 이하가 되면 완료

        // 중요도를 내림차순 정렬하는 우선순위 큐
        PriorityQueue&amp;lt;Integer&amp;gt; pq = new PriorityQueue&amp;lt;&amp;gt;(Collections.reverseOrder());
        for (int i = 0; i &amp;lt; N; i++) {
            pq.add(Integer.parseInt(br.readLine()));
        }

        int days = 0;          // 총 소요일
        int satisfaction = 0;  // 전날(이전)까지의 만족도
        List&amp;lt;Integer&amp;gt; dailyList = new ArrayList&amp;lt;&amp;gt;(); // 일자별 만족도 기록

        // 큐가 빌 때까지 반복 (모든 작업 완료 시 종료)
        while (!pq.isEmpty()) {
            // 1. 오늘 처리할 작업(가장 중요도가 높은 작업)을 꺼낸다.
            int current = pq.poll();

            // 2. 오늘 만족도 = floor(어제 만족도 / 2) + 오늘 처리할 일의 중요도
            int todaySatisfaction = (int) Math.floor(satisfaction / 2.0) + current;
            // 전날 만족도 갱신
            satisfaction = todaySatisfaction;
            dailyList.add(satisfaction);

            // 3. 오늘 처리한 일의 중요도 감소
            current -= M;

            // 4. 남아있는 중요도가 K보다 크면 내일 다시 해야 하므로 우선순위 큐에 넣음
            if (current &amp;gt; K) {
                pq.add(current);
            }

            // 하루 지남
            days++;
        }

        // 결과 출력
        System.out.println(days);
        for (int sat : dailyList) {
            System.out.println(sat);
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;b&gt;코멘트&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;머냐.. 마지막 문젠데 ㄷ찜찜하게...ㅠ&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style3&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;블로그 내용에 문제가 있다면&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&lt;b&gt;댓글&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;혹은 아래로 연락주세요!&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;~대가리 꽃밭인 디지털 노마드가 꿈이예요~&lt;/i&gt;&lt;br /&gt;&lt;b&gt; &amp;zwj;♀️ Gyumin Lee&lt;/b&gt;&lt;br /&gt;  gyumin.q.lee@gmail.com&lt;/p&gt;
&lt;figure style=&quot;color: #333333; text-align: start;&quot; data-og-url=&quot;https://github.com/qminlee723&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ksGN8/hyOIm8aWSi/MNc6y7gMkDpTDub0gZUTvK/img.jpg?width=460&amp;amp;height=460&amp;amp;face=110_136_297_340&quot; data-og-source-url=&quot;https://github.com/qminlee723&quot; data-og-host=&quot;github.com&quot; data-og-description=&quot;noob. qminlee723 has 8 repositories available. Follow their code on GitHub.&quot; data-ke-align=&quot;alignCenter&quot; data-og-title=&quot;qminlee723 - Overview&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://github.com/qminlee723&quot; data-source-url=&quot;https://github.com/qminlee723&quot;&gt;
&lt;div style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ksGN8/hyOIm8aWSi/MNc6y7gMkDpTDub0gZUTvK/img.jpg?width=460&amp;amp;height=460&amp;amp;face=110_136_297_340');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;qminlee723 - Overview&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;noob. qminlee723 has 8 repositories available. Follow their code on GitHub.&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>문제 풀이/알고리즘 문제 풀이</category>
      <category>boj</category>
      <category>java</category>
      <category>백준</category>
      <category>알고리즘</category>
      <category>자료구조</category>
      <category>자바</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/70</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/70#entry70comment</comments>
      <pubDate>Sat, 22 Feb 2025 09:00:14 +0900</pubDate>
    </item>
    <item>
      <title>[DP][Java][BOJ] #2225. 합분해</title>
      <link>https://idontlikemath-moonsong.tistory.com/69</link>
      <description>&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;#DP&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;#Gold5&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/2225&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/2225&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;✏️ 백준 연습문제: #2225. 합분해&lt;/b&gt;&lt;br /&gt;0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 프로그램을 작성하시오. 덧셈의 순서가 바뀐 경우는 다른 경우로 센다(1+2와 2+1은 서로 다른 경우). 또한 한 개의 수를 여러 번 쓸 수도 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;⌨️ 입력&lt;/b&gt;&lt;br /&gt;첫째 줄에 두 정수 N(1 &amp;le; N &amp;le; 200), K(1 &amp;le; K &amp;le; 200)가 주어진다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; ️ 출력&lt;/b&gt;&lt;br /&gt;첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다.&lt;/blockquote&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;입출력 예&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 123px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 66.6279%; height: 18px;&quot;&gt;입력&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%; height: 18px;&quot;&gt;출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 35px;&quot;&gt;
&lt;td style=&quot;width: 66.6279%; height: 35px;&quot;&gt;20 2&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%; height: 35px;&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 66.6279%;&quot;&gt;6 4&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%;&quot;&gt;84&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  해결 포인트&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;1. K개의 숫자로 N을 만드는 방법은, (K-1)개의 숫자로 어떤 수를 만든 뒤, 하나를 추가&lt;/b&gt;&lt;br /&gt;- 예를 들어, N=3, K=2인경우(숫자 2개로 3을 만드는 방법)&lt;br /&gt;- 마지막 숫자가 어떤거였는지 알아보는 것!&lt;br /&gt;&lt;br /&gt;(1) 마지막 숫자가 0인 경우&amp;nbsp;&lt;br /&gt;- K=1일 때 N=3을 만든 것과 같음&lt;br /&gt;- 따라서 3&lt;br /&gt;&lt;br /&gt;(2) 마지막 숫자가 1인 경우&lt;br /&gt;- K=1일 때 N=2를 만든 것과 같음&lt;br /&gt;- 따라서 2&lt;br /&gt;&lt;br /&gt;(3) 마지막 숫자가 2인 경우&lt;br /&gt;- K=1일 때, N=1을 만든 것과 같음&lt;br /&gt;- 따라서 1&lt;br /&gt;&lt;br /&gt;(4) 마지막 숫자가 3인 경우&lt;br /&gt;- K=1일 때, N=0을 만든 것과 같음&lt;br /&gt;- 따라서 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;이렇게 4가지 방법이 있다.&lt;br /&gt;dp[2][3]=dp[1][3]+dp[1][2]+dp[1][1]+dp[1][0]&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;내&amp;nbsp;&lt;/b&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1.&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1737133233474&quot; class=&quot;java&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;
import java.util.*;

public class BOJ_2225 {
  public static void main(String[] args) throws IOException {
    System.setIn(new FileInputStream(&quot;example.txt&quot;));
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    String[] line = br.readLine().split(&quot; &quot;);
    int N = Integer.parseInt(line[0]); 
    int K = Integer.parseInt(line[1]);

    int[][] dp = new int[K + 1][N + 1]; // dp[K][N]: 0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수

    // 예외 처리ㅇ
    for (int i = 0; i &amp;lt;= N; i++) {
      dp[1][i] = 1;
    }

    for (int i = 1; i &amp;lt;= K; i++) { 
      for (int j = 0; j &amp;lt;= N; j++) { 
        for (int l = 0; l &amp;lt;= j; l++) { 
          dp[i][j] += dp[i - 1][j - l];
          dp[i][j] %= 1000000000;
        }
      }
    }

    System.out.println(dp[K][N]);
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;b&gt;코멘트&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;나 그냥 DP는 포기할래.. 그냥 코드를 하나하나 열심히 읽었다...&lt;br /&gt;&lt;br /&gt;백준 문제는 일단 독해력이 베이스가 되어 있어야 하는 것 같다. 문제를 자꾸 다르게 읽어서 아예 이해가 안되어버림. 근데 나 문관데? 이렇게 오늘도 또 긁히는 나&amp;nbsp;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style3&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;블로그 내용에 문제가 있다면&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&lt;b&gt;댓글&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;혹은 아래로 연락주세요!&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;~대가리 꽃밭인 디지털 노마드가 꿈이예요~&lt;/i&gt;&lt;br /&gt;&lt;b&gt; &amp;zwj;♀️ Gyumin Lee&lt;/b&gt;&lt;br /&gt;  gyumin.q.lee@gmail.com&lt;/p&gt;
&lt;figure style=&quot;color: #333333; text-align: start;&quot; data-og-url=&quot;https://github.com/qminlee723&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ksGN8/hyOIm8aWSi/MNc6y7gMkDpTDub0gZUTvK/img.jpg?width=460&amp;amp;height=460&amp;amp;face=110_136_297_340&quot; data-og-source-url=&quot;https://github.com/qminlee723&quot; data-og-host=&quot;github.com&quot; data-og-description=&quot;noob. qminlee723 has 8 repositories available. Follow their code on GitHub.&quot; data-ke-align=&quot;alignCenter&quot; data-og-title=&quot;qminlee723 - Overview&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://github.com/qminlee723&quot; data-source-url=&quot;https://github.com/qminlee723&quot;&gt;
&lt;div style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ksGN8/hyOIm8aWSi/MNc6y7gMkDpTDub0gZUTvK/img.jpg?width=460&amp;amp;height=460&amp;amp;face=110_136_297_340');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;qminlee723 - Overview&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;noob. qminlee723 has 8 repositories available. Follow their code on GitHub.&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>문제 풀이/알고리즘 문제 풀이</category>
      <category>2차원배열</category>
      <category>boj</category>
      <category>DP</category>
      <category>java</category>
      <category>백준</category>
      <category>알고리즘</category>
      <category>자바</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/69</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/69#entry69comment</comments>
      <pubDate>Fri, 21 Feb 2025 01:22:04 +0900</pubDate>
    </item>
    <item>
      <title>[DP][Java][BOJ] #9251. LCS</title>
      <link>https://idontlikemath-moonsong.tistory.com/68</link>
      <description>&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;#DP&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;#Gold5&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/9251&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/9251&lt;/a&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;✏️ 백준 연습문제: #2470. LCS&lt;/b&gt;&lt;br /&gt;LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다.&lt;br /&gt;예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;⌨️ 입력&lt;/b&gt;&lt;br /&gt;첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; ️ 출력&lt;/b&gt;&lt;br /&gt;첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 출력한다.&lt;/blockquote&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;입출력 예&lt;/b&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 123px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 66.6279%; height: 18px;&quot;&gt;입력&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%; height: 18px;&quot;&gt;출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 35px;&quot;&gt;
&lt;td style=&quot;width: 66.6279%; height: 35px;&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;5&lt;br /&gt;-2 4 -99 -1 98&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%; height: 35px;&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  해결 포인트&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;해결...ㅠ못함&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://drsuneamer.tistory.com/338&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;겸둥이 블로그&lt;/a&gt;에서 가져왔다. 지금 졸려서 뭐 안보이기 때문에... 내일 출근길에 읽어볼게..&lt;/p&gt;
&lt;figure id=&quot;og_1739982592065&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[알고리즘] 그림으로 알아보는 LCS 알고리즘 - Longest Common Substring와 Longest Common Subsequence&quot; data-og-description=&quot;LCS는 주로 최장 공통 부분수열(Longest Common Subsequence)을 말합니다만, 최장 공통 문자열(Longest Common Substring)을 말하기도 합니다.&quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@emplam27/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94-LCS-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-Longest-Common-Substring%EC%99%80-Longest-Common-Subsequence&quot; data-og-url=&quot;https://velog.io/@emplam27/알고리즘-그림으로-알아보는-LCS-알고리즘-Longest-Common-Substring와-Longest-Common-Subsequence&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/B1dih/hyYjzPnnr3/6pTJ2KgqU9kzWONjzygDpk/img.jpg?width=756&amp;amp;height=394&amp;amp;face=0_0_756_394,https://scrap.kakaocdn.net/dn/bsnXfA/hyYjuHlJkg/sAScK6b7oxuJha1NPYR7o1/img.jpg?width=756&amp;amp;height=394&amp;amp;face=0_0_756_394,https://scrap.kakaocdn.net/dn/bhcuKC/hyYjkkrgHy/IhB1BFVDjwvWvlyG8ffZC1/img.png?width=1125&amp;amp;height=1885&amp;amp;face=0_0_1125_1885&quot;&gt;&lt;a href=&quot;https://velog.io/@emplam27/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94-LCS-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-Longest-Common-Substring%EC%99%80-Longest-Common-Subsequence&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@emplam27/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94-LCS-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-Longest-Common-Substring%EC%99%80-Longest-Common-Subsequence&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/B1dih/hyYjzPnnr3/6pTJ2KgqU9kzWONjzygDpk/img.jpg?width=756&amp;amp;height=394&amp;amp;face=0_0_756_394,https://scrap.kakaocdn.net/dn/bsnXfA/hyYjuHlJkg/sAScK6b7oxuJha1NPYR7o1/img.jpg?width=756&amp;amp;height=394&amp;amp;face=0_0_756_394,https://scrap.kakaocdn.net/dn/bhcuKC/hyYjkkrgHy/IhB1BFVDjwvWvlyG8ffZC1/img.png?width=1125&amp;amp;height=1885&amp;amp;face=0_0_1125_1885');&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;[알고리즘] 그림으로 알아보는 LCS 알고리즘 - Longest Common Substring와 Longest Common Subsequence&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;LCS는 주로 최장 공통 부분수열(Longest Common Subsequence)을 말합니다만, 최장 공통 문자열(Longest Common Substring)을 말하기도 합니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&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;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;내&amp;nbsp;&lt;/b&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1.&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1737133233474&quot; class=&quot;java&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;
import java.util.*;

public class BOJ_9251 {
  public static void main(String[] args) throws IOException {
    System.setIn(new FileInputStream(&quot;example.txt&quot;));
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    String[] arr = br.readLine().split(&quot;&quot;);
    String[] arr2 = br.readLine().split(&quot;&quot;);

    int[][] dp = new int[arr.length + 1][arr2.length + 1]; //

    for (int i = 1; i &amp;lt;= arr.length; i++) {
      for (int j = 1; j &amp;lt;= arr2.length; j++) {
        if (arr[i - 1].equals(arr2[j - 1])) { // 같은 문자열이면
          dp[i][j] = dp[i - 1][j - 1] + 1; // 대각선 위의 값 + 1
        } else {
          dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]); // 왼쪽과 위쪽 중 큰 값
        }
      }
    }

    System.out.println(dp[arr.length][arr2.length]);
  }  
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;b&gt;코멘트&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;아 오랜만에 느껴보는 싸피 1학기 느낌.... 아무것도 모르는 나&lt;br /&gt;다시 똑같은거 풀라고 해도 틀릴 확률 100%&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style3&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;블로그 내용에 문제가 있다면&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&lt;b&gt;댓글&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;혹은 아래로 연락주세요!&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;~대가리 꽃밭인 디지털 노마드가 꿈이예요~&lt;/i&gt;&lt;br /&gt;&lt;b&gt; &amp;zwj;♀️ Gyumin Lee&lt;/b&gt;&lt;br /&gt;  gyumin.q.lee@gmail.com&lt;/p&gt;
&lt;figure style=&quot;color: #333333; text-align: start;&quot; data-og-url=&quot;https://github.com/qminlee723&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ksGN8/hyOIm8aWSi/MNc6y7gMkDpTDub0gZUTvK/img.jpg?width=460&amp;amp;height=460&amp;amp;face=110_136_297_340&quot; data-og-source-url=&quot;https://github.com/qminlee723&quot; data-og-host=&quot;github.com&quot; data-og-description=&quot;noob. qminlee723 has 8 repositories available. Follow their code on GitHub.&quot; data-ke-align=&quot;alignCenter&quot; data-og-title=&quot;qminlee723 - Overview&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://github.com/qminlee723&quot; data-source-url=&quot;https://github.com/qminlee723&quot;&gt;
&lt;div style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ksGN8/hyOIm8aWSi/MNc6y7gMkDpTDub0gZUTvK/img.jpg?width=460&amp;amp;height=460&amp;amp;face=110_136_297_340');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;qminlee723 - Overview&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;noob. qminlee723 has 8 repositories available. Follow their code on GitHub.&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>문제 풀이/알고리즘 문제 풀이</category>
      <category>2차원배열</category>
      <category>boj</category>
      <category>DP</category>
      <category>java</category>
      <category>LCs</category>
      <category>백준</category>
      <category>알고리즘</category>
      <category>자바</category>
      <category>최장공통문자열</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/68</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/68#entry68comment</comments>
      <pubDate>Thu, 20 Feb 2025 01:33:09 +0900</pubDate>
    </item>
    <item>
      <title>[DP][Java][BOJ] #11053. 가장 긴 증가하는 부분 수열</title>
      <link>https://idontlikemath-moonsong.tistory.com/67</link>
      <description>&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;#DP&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;# Silver2&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/11053&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/11053&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  문제 설명&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;✏️ 백준 연습문제: #11053.&amp;nbsp;가장&amp;nbsp;긴&amp;nbsp;증가하는&amp;nbsp;부분&amp;nbsp;수열&lt;/b&gt;&lt;br /&gt;수열 A가 주어졌을 때, 가장 긴 증가하는&amp;nbsp;부분&amp;nbsp;수열을 구하는 프로그램을 작성하시오.&lt;br /&gt;예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분&amp;nbsp;수열은&amp;nbsp;A = {10,&amp;nbsp;20, 10,&amp;nbsp;30, 20,&amp;nbsp;50} 이고, 길이는 4이다.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;⌨️ 입력&lt;/b&gt;&lt;br /&gt;첫째 줄에 수열 A의 크기 N (1 &amp;le; N &amp;le; 1,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 &amp;le; Ai &amp;le; 1,000)&lt;br /&gt;&lt;br /&gt;&lt;b&gt; ️ 출력&lt;/b&gt;&lt;br /&gt;첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다. &lt;/blockquote&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;입출력 예&lt;/b&gt;&lt;/h2&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: 66.6279%;&quot;&gt;입력&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%;&quot;&gt;출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 66.6279%;&quot;&gt;6&lt;br /&gt;10&amp;nbsp;20&amp;nbsp;10&amp;nbsp;30&amp;nbsp;20&amp;nbsp;50&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 66.6279%;&quot;&gt;7&lt;br /&gt;5&amp;nbsp;1&amp;nbsp;6&amp;nbsp;2&amp;nbsp;7&amp;nbsp;3&amp;nbsp;8&lt;/td&gt;
&lt;td style=&quot;width: 33.2558%;&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  해결 포인트&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;1.&amp;nbsp; 가장 처음에 오는 수가 가장 작은 수가 아닐 수도 있다는 점!&lt;br /&gt;&lt;br /&gt;2. dp[i]는 수열의 i번째 숫자를 마지막으로 하는 가장 긴 증가하는 부분 수열의 길이&amp;nbsp;&lt;/b&gt;&lt;br /&gt;- 이전 숫자들 중 자기보다 작은 숫자를 찾아, 가장 긴 길이에 +1&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 풀이 순서(5 1 6 2 7 3 8의 경우)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;(1) dp[]를 1로 초기화 시키자(가장 긴 증가하는 부분 수열 길이 중 가장 작은 값)&lt;/b&gt;&lt;br /&gt;=&amp;gt; [1, 1, 1, 1, 1, 1, 1]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(2) dp[0]&lt;/b&gt;&lt;br /&gt;&amp;rarr; arr[0] = 5&lt;br /&gt;&amp;rarr; 앞에 숫자가 없으므로 dp[0] = 1&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(3) dp[1]&lt;/b&gt;&lt;br /&gt;&amp;rarr; arr[1] = 1&lt;br /&gt;&amp;rarr; arr[0] = 5&lt;br /&gt;&amp;rarr; 앞에 숫자가 나보다 크므로 dp[1] = 1&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(4) dp[2]&lt;/b&gt;&lt;br /&gt;&amp;rarr; arr[2] = 6&lt;br /&gt;&amp;rarr; 앞에 숫자(arr[0] or arr[1]) 둘 다 더 작은 값임&lt;br /&gt;&amp;rarr; arr[0] = 5 =&amp;gt; dp[2] = dp[0] + 1 = 2&lt;br /&gt;&amp;rarr; arr[1] = 1 =&amp;gt; d[2] = dp[1] + 1 = 2&lt;br /&gt;&amp;rarr; 둘 중 더 긴 값 선택해서 dp[2]에 할당&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(5) dp[3]&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;&amp;rarr; arr[3] = 2&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;&amp;rarr; 앞에 숫자&amp;nbsp; arr[1]만 arr[3]보다 작음 (1 &amp;lt; 2)&lt;br /&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;&amp;rarr; dp[3] = dp[1] + 1 = 2&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;(6) dp[4]&lt;/b&gt;&lt;br /&gt;&amp;rarr; arr[4] = 7&lt;br /&gt;&amp;rarr; arr[0], arr[1], arr[2], arr[3] 전부 작음&lt;br /&gt;&amp;rarr; dp = [1, 1, 2, 2, 1, 1, 1] 이므로 가장 긴 dp[2], dp[3]에 1을 더한 수를&lt;br /&gt;&amp;rarr;&amp;nbsp;dp[4] = 3&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(7) dp[5]&lt;/b&gt;&lt;br /&gt;&amp;rarr; arr[5] = 3&lt;br /&gt;&amp;rarr; arr[2], arr[3]만 작음. dp[2], dp[3] 수는 동일하므로 여기에다 1을 더한수를&lt;br /&gt;&amp;rarr; dp[5] = 3&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(8) dp[6]&lt;/b&gt;&lt;br /&gt;&amp;rarr; arr[6] = 8&lt;br /&gt;&amp;rarr; arr[0], arr[1], arr[2], arr[3], arr[4], arr[5] 전부 작음&lt;br /&gt;&amp;rarr; 지금까지 갱신된 dp = [1, 1, 2, 2, 3, 3, 1] 이므로 가장 긴 dp[5]에 1을 더한 값을&amp;nbsp;&lt;br /&gt;&lt;b&gt;&amp;rarr; dp[6] = 4&lt;/b&gt;&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;내&amp;nbsp;&lt;/b&gt;&lt;b&gt;코드&lt;/b&gt;&lt;/h2&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. DP&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1737133233474&quot; class=&quot;java&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;
import java.util.*;

public class BOJ_11053 {
  public static void main(String[] args) throws IOException {
    System.setIn(new FileInputStream(&quot;example.txt&quot;));
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    int N = Integer.parseInt(br.readLine()); // 수열의 크기
    int[] arr = new int[N]; // 수열
    int[] dp = new int[N]; // 가장 긴 증가하는 부분 수열

    String[] line = br.readLine().split(&quot; &quot;);
    for (int i = 0; i &amp;lt; N; i++) {
      arr[i] = Integer.parseInt(line[i]);
    }

    for (int i = 0; i &amp;lt; N; i++) {
      dp[i] = 1; // 초기값 1
      for (int j = 0; j &amp;lt; i; j++) {
        if (arr[j] &amp;lt; arr[i] &amp;amp;&amp;amp; dp[i] &amp;lt; dp[j] + 1) { // 나보다 작은 수가 있으면
          dp[i] = dp[j] + 1; // 수열 증가시키기
        }
      }
    }

    int max = 0;
    for (int i = 0; i &amp;lt; N; i++) {
      max = Math.max(max, dp[i]);
    }

    System.out.println(max);

  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;b&gt;코멘트&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;처음에 최댓값 갱신 방신으로 생각했다가 틀렸다! 그치 이렇게 쉬울거면 실버2일리가 없지...ㅠ&amp;nbsp;&lt;br /&gt;A={5, 1, 6, 2, 7, 3, 8} 인 경우를 생각해보기!&lt;br /&gt;DP라는 거.. 내가 생각 해 낼 수 있는 범위의 내용인 걸까?&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style3&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;블로그 내용에 문제가 있다면&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&lt;b&gt;댓글&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #009a87;&quot;&gt;&lt;i&gt;혹은 아래로 연락주세요!&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;~대가리 꽃밭인 디지털 노마드가 꿈이예요~&lt;/i&gt;&lt;br /&gt;&lt;b&gt; &amp;zwj;♀️ Gyumin Lee&lt;/b&gt;&lt;br /&gt;  gyumin.q.lee@gmail.com&lt;/p&gt;
&lt;figure style=&quot;color: #333333; text-align: start;&quot; data-og-url=&quot;https://github.com/qminlee723&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ksGN8/hyOIm8aWSi/MNc6y7gMkDpTDub0gZUTvK/img.jpg?width=460&amp;amp;height=460&amp;amp;face=110_136_297_340&quot; data-og-source-url=&quot;https://github.com/qminlee723&quot; data-og-host=&quot;github.com&quot; data-og-description=&quot;noob. qminlee723 has 8 repositories available. Follow their code on GitHub.&quot; data-ke-align=&quot;alignCenter&quot; data-og-title=&quot;qminlee723 - Overview&quot; data-ke-type=&quot;opengraph&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://github.com/qminlee723&quot; data-source-url=&quot;https://github.com/qminlee723&quot;&gt;
&lt;div style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ksGN8/hyOIm8aWSi/MNc6y7gMkDpTDub0gZUTvK/img.jpg?width=460&amp;amp;height=460&amp;amp;face=110_136_297_340');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;color: #000000;&quot; data-ke-size=&quot;size16&quot;&gt;qminlee723 - Overview&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;noob. qminlee723 has 8 repositories available. Follow their code on GitHub.&lt;/p&gt;
&lt;p style=&quot;color: #909090;&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;</description>
      <category>문제 풀이/알고리즘 문제 풀이</category>
      <category>algorithm</category>
      <category>boj</category>
      <category>DP</category>
      <category>dynamic programming</category>
      <category>java</category>
      <category>다이나믹프로그래밍</category>
      <category>동적계획법</category>
      <category>백준</category>
      <category>알고리즘</category>
      <category>자바</category>
      <author> 큐</author>
      <guid isPermaLink="true">https://idontlikemath-moonsong.tistory.com/67</guid>
      <comments>https://idontlikemath-moonsong.tistory.com/67#entry67comment</comments>
      <pubDate>Wed, 19 Feb 2025 01:27:59 +0900</pubDate>
    </item>
  </channel>
</rss>