<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>알렉스 페레이라의 격투 블로그</title>
    <link>https://leonjk3.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Fri, 17 Apr 2026 04:11:38 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>알렉스 페레이라</managingEditor>
    <image>
      <title>알렉스 페레이라의 격투 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/6119748/attach/325d4b546e5941aaa0e3591a61cddab9</url>
      <link>https://leonjk3.tistory.com</link>
    </image>
    <item>
      <title>라이브러리(jar파일)에서 class파일 하나만 수정하고 싶을 때</title>
      <link>https://leonjk3.tistory.com/173</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;개발을 하다보면 오래된 jar파일의 일부분만 수정하고싶을때가 있는데, 여러번 해봤음에도 처음 정리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 특정경로에 jar파일을 위치한다. (나같은 경우에는 바탕화면)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;285&quot; data-origin-height=&quot;75&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dY2OFM/btsNnCEv9lO/vEY5J5dhK3kKOdGKKhxyNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dY2OFM/btsNnCEv9lO/vEY5J5dhK3kKOdGKKhxyNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dY2OFM/btsNnCEv9lO/vEY5J5dhK3kKOdGKKhxyNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdY2OFM%2FbtsNnCEv9lO%2FvEY5J5dhK3kKOdGKKhxyNK%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;285&quot; height=&quot;75&quot; data-origin-width=&quot;285&quot; data-origin-height=&quot;75&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 바탕화면에 디렉토리를 생성한다. (나같은경우에는 temp)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;317&quot; data-origin-height=&quot;142&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bg6AU1/btsNnSfIOQ2/bS8yk3HKNVtlFl9SC0iAlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bg6AU1/btsNnSfIOQ2/bS8yk3HKNVtlFl9SC0iAlk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bg6AU1/btsNnSfIOQ2/bS8yk3HKNVtlFl9SC0iAlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbg6AU1%2FbtsNnSfIOQ2%2FbS8yk3HKNVtlFl9SC0iAlk%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;317&quot; height=&quot;142&quot; data-origin-width=&quot;317&quot; data-origin-height=&quot;142&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 바탕화면에서,&amp;nbsp;cmd콘솔창&amp;nbsp;켜고&amp;nbsp;7z&amp;nbsp;x&amp;nbsp;[jar파일명].jar&amp;nbsp;-otemp&amp;nbsp;명령어&amp;nbsp;실행&amp;nbsp;(7z설치되어있어야&amp;nbsp;하고,&amp;nbsp;환경변수&amp;nbsp;잡혀야&amp;nbsp;함.)&lt;/p&gt;
&lt;pre id=&quot;code_1744787546650&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;7z x [jar파일명].jar -otemp

//7z x goalsjdkit.jar -otemp&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;983&quot; data-origin-height=&quot;568&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/exvv1W/btsNkLhqB91/5DkzZLeunVR6WbcGDVOckk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/exvv1W/btsNkLhqB91/5DkzZLeunVR6WbcGDVOckk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/exvv1W/btsNkLhqB91/5DkzZLeunVR6WbcGDVOckk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fexvv1W%2FbtsNkLhqB91%2F5DkzZLeunVR6WbcGDVOckk%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;983&quot; height=&quot;568&quot; data-origin-width=&quot;983&quot; data-origin-height=&quot;568&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.&amp;nbsp;풀린&amp;nbsp;temp폴더&amp;nbsp;안에&amp;nbsp;바꾸고자&amp;nbsp;하는&amp;nbsp;class파일&amp;nbsp;경로까지&amp;nbsp;들어가서,&amp;nbsp;수정된&amp;nbsp;java파일을&amp;nbsp;넣어놓는다.&amp;nbsp;(컴파일해야하니&amp;nbsp;기존&amp;nbsp;class파일은&amp;nbsp;삭제)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;645&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pGdRP/btsNnw5mjML/CYVq3teNwtcO2XINyh3Z01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pGdRP/btsNnw5mjML/CYVq3teNwtcO2XINyh3Z01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pGdRP/btsNnw5mjML/CYVq3teNwtcO2XINyh3Z01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpGdRP%2FbtsNnw5mjML%2FCYVq3teNwtcO2XINyh3Z01%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;1016&quot; height=&quot;645&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;645&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 최상위폴더(temp)에서 cmd콘솔창을 켜고, 컴파일 명령어를 실행한다.&lt;/p&gt;
&lt;pre id=&quot;code_1744788111938&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;javac -encoding UTF-8 -cp . com\configure\[java파일명].java

//javac -encoding UTF-8 -cp . com\configure\DLog.java&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;901&quot; data-origin-height=&quot;105&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rikvI/btsNnjLX3x6/xTOyLXbpSLWQcwMAmHlc50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rikvI/btsNnjLX3x6/xTOyLXbpSLWQcwMAmHlc50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rikvI/btsNnjLX3x6/xTOyLXbpSLWQcwMAmHlc50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrikvI%2FbtsNnjLX3x6%2FxTOyLXbpSLWQcwMAmHlc50%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;901&quot; height=&quot;105&quot; data-origin-width=&quot;901&quot; data-origin-height=&quot;105&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 컴파일이 완료되었으니 java파일을 삭제한다.&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;7. 최상위폴더(temp)에서 cmd콘솔창을 켜고, jar파일 생성 명령어를 실행한다.&lt;/p&gt;
&lt;pre id=&quot;code_1744788479543&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;jar cfM ../[새로만들 jar파일명].jar *
 
 //jar cfM ../goalsjdkit_new.jar *&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;67&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OzjFf/btsNnUEEdLb/s7jvnIdBKeKJNKAHRXB7Pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OzjFf/btsNnUEEdLb/s7jvnIdBKeKJNKAHRXB7Pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OzjFf/btsNnUEEdLb/s7jvnIdBKeKJNKAHRXB7Pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOzjFf%2FbtsNnUEEdLb%2Fs7jvnIdBKeKJNKAHRXB7Pk%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;839&quot; height=&quot;67&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;67&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 내가 원하는 class파일만 변경이 완료되었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1844&quot; data-origin-height=&quot;708&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lRDA4/btsNnjd9BBQ/29W0kpeDCYrL1pp8Q1iBCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lRDA4/btsNnjd9BBQ/29W0kpeDCYrL1pp8Q1iBCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lRDA4/btsNnjd9BBQ/29W0kpeDCYrL1pp8Q1iBCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlRDA4%2FbtsNnjd9BBQ%2F29W0kpeDCYrL1pp8Q1iBCk%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;1844&quot; height=&quot;708&quot; data-origin-width=&quot;1844&quot; data-origin-height=&quot;708&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>정리/Java</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/173</guid>
      <comments>https://leonjk3.tistory.com/173#entry173comment</comments>
      <pubDate>Wed, 16 Apr 2025 16:17:43 +0900</pubDate>
    </item>
    <item>
      <title>Oracle 프로시저에서 에러코드 및 발생위치 출력하기</title>
      <link>https://leonjk3.tistory.com/168</link>
      <description>&lt;pre id=&quot;code_1735880342582&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;     WHEN OTHERS THEN
        R_RTNCD := 'N';
        R_RTNMG := SQLERRM;
       DBMS_OUTPUT.PUT_LINE(SQLERRM);
       DBMS_OUTPUT.PUT_LINE(SYS.dbms_utility.format_error_backtrace);
       RETURN;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EXCEPTION 관련 로직에 위 코드를 삽입하면 된다.&lt;/p&gt;</description>
      <category>정리/DataBase</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/168</guid>
      <comments>https://leonjk3.tistory.com/168#entry168comment</comments>
      <pubDate>Fri, 3 Jan 2025 13:59:18 +0900</pubDate>
    </item>
    <item>
      <title>Z6 액세서리 호환표</title>
      <link>https://leonjk3.tistory.com/166</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20240624112028_img.jpg&quot; data-origin-width=&quot;1400&quot; data-origin-height=&quot;1041&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dEpZ6s/btsLdmwGQ5U/ylYyrgV6COqKAT4CW3Hji0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dEpZ6s/btsLdmwGQ5U/ylYyrgV6COqKAT4CW3Hji0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dEpZ6s/btsLdmwGQ5U/ylYyrgV6COqKAT4CW3Hji0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdEpZ6s%2FbtsLdmwGQ5U%2FylYyrgV6COqKAT4CW3Hji0%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;1400&quot; height=&quot;1041&quot; data-filename=&quot;20240624112028_img.jpg&quot; data-origin-width=&quot;1400&quot; data-origin-height=&quot;1041&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>사진</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/166</guid>
      <comments>https://leonjk3.tistory.com/166#entry166comment</comments>
      <pubDate>Tue, 10 Dec 2024 14:10:58 +0900</pubDate>
    </item>
    <item>
      <title>DP - Knapsack 알고리즘</title>
      <link>https://leonjk3.tistory.com/165</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://leonjk3.tistory.com/164&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://leonjk3.tistory.com/164&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1731549627149&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;[백준] 평범한 배낭&quot; data-og-description=&quot;DP - Knapsack 알고리즘이다.&amp;nbsp;간단히 말해 지금 배낭에 보석을 넣을수 있는 시점에, 넣지 않았을때와, 넣었을때(이전 보석중 현재 무게를 뺀 값)를비교해서 더 큰 값을 골라주면 된다. 이게 사실 이&quot; data-og-host=&quot;leonjk3.tistory.com&quot; data-og-source-url=&quot;https://leonjk3.tistory.com/164&quot; data-og-url=&quot;https://leonjk3.tistory.com/164&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mnqoy/hyXzShOixv/izk2t4y2ErGj5IN6jso0aK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/BXVz4/hyXwoW1avk/CMtjvumFYQHmRaa5kGgknk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/qhVWi/hyXwmETC5m/8YBeTi7bOObPIDGXbKTQ41/img.png?width=308&amp;amp;height=308&amp;amp;face=73_80_220_240&quot;&gt;&lt;a href=&quot;https://leonjk3.tistory.com/164&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leonjk3.tistory.com/164&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mnqoy/hyXzShOixv/izk2t4y2ErGj5IN6jso0aK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/BXVz4/hyXwoW1avk/CMtjvumFYQHmRaa5kGgknk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/qhVWi/hyXwmETC5m/8YBeTi7bOObPIDGXbKTQ41/img.png?width=308&amp;amp;height=308&amp;amp;face=73_80_220_240');&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;DP - Knapsack 알고리즘이다.&amp;nbsp;간단히 말해 지금 배낭에 보석을 넣을수 있는 시점에, 넣지 않았을때와, 넣었을때(이전 보석중 현재 무게를 뺀 값)를비교해서 더 큰 값을 골라주면 된다. 이게 사실 이&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leonjk3.tistory.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>코딩테스트/Algorithm</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/165</guid>
      <comments>https://leonjk3.tistory.com/165#entry165comment</comments>
      <pubDate>Thu, 14 Nov 2024 11:00:27 +0900</pubDate>
    </item>
    <item>
      <title>[백준] 평범한 배낭</title>
      <link>https://leonjk3.tistory.com/164</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;DP - Knapsack 알고리즘이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단히 말해 지금 배낭에 보석을 넣을수 있는 시점에, 넣지 않았을때와, 넣었을때(이전 보석중 현재 무게를 뺀 값)를&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비교해서 더 큰 값을 골라주면 된다. 이게 사실 이해가 쉽지는 않은데 소스를 디버그해보면 이해하기가 조금 쉽다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;h2 style=&quot;color: #585f69;&quot; data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_description&quot;&gt;
&lt;p style=&quot;color: #555555;&quot; data-ke-size=&quot;size16&quot;&gt;이 문제는 아주 평범한 배낭에 관한 문제이다.&lt;/p&gt;
&lt;p style=&quot;color: #555555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당 물건을 배낭에 넣어서 가면 준서가 V만큼 즐길 수 있다. 아직 행군을 해본 적이 없는 준서는 최대 K만큼의 무게만을 넣을 수 있는 배낭만 들고 다닐 수 있다. 준서가 최대한 즐거운 여행을 하기 위해 배낭에 넣을 수 있는 물건들의 가치의 최댓값을 알려주자.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;h2 style=&quot;color: #585f69;&quot; data-ke-size=&quot;size26&quot;&gt;입력&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_input&quot;&gt;
&lt;p style=&quot;color: #555555;&quot; data-ke-size=&quot;size16&quot;&gt;첫 줄에 물품의 수 N(1 &amp;le; N &amp;le; 100)과 준서가 버틸 수 있는 무게 K(1 &amp;le; K &amp;le; 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 &amp;le; W &amp;le; 100,000)와 해당 물건의 가치 V(0 &amp;le; V &amp;le; 1,000)가 주어진다.&lt;/p&gt;
&lt;p style=&quot;color: #555555;&quot; data-ke-size=&quot;size16&quot;&gt;입력으로 주어지는 모든 수는 정수이다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;h2 style=&quot;color: #585f69;&quot; data-ke-size=&quot;size26&quot;&gt;출력&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;problem_output&quot;&gt;
&lt;p style=&quot;color: #555555;&quot; data-ke-size=&quot;size16&quot;&gt;한 줄에 배낭에 넣을 수 있는 물건들의 가치합의 최댓값을 출력한다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 style=&quot;color: #585f69;&quot; data-ke-size=&quot;size26&quot;&gt;예제 입력 1&lt;span&gt;&amp;nbsp;&lt;/span&gt;복사&lt;/h2&gt;
&lt;/div&gt;
&lt;pre id=&quot;sample-input-1&quot; class=&quot;basic&quot; style=&quot;background-color: #f7f7f9; color: #333333;&quot;&gt;&lt;code&gt;4 7
6 13
4 8
3 6
5 12
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 style=&quot;color: #585f69;&quot; data-ke-size=&quot;size26&quot;&gt;예제 출력 1&lt;span&gt;&amp;nbsp;&lt;/span&gt;복사&lt;/h2&gt;
&lt;/div&gt;
&lt;pre id=&quot;sample-output-1&quot; class=&quot;angelscript&quot; style=&quot;background-color: #f7f7f9; color: #333333;&quot;&gt;&lt;code&gt;14&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 코드&lt;/p&gt;
&lt;pre id=&quot;code_1731549555824&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();
        int K = sc.nextInt();

        int[][] stuff = new int[N][2];
        for(int i = 0; i &amp;lt; N; i++){
            stuff[i][0] = sc.nextInt();
            stuff[i][1] = sc.nextInt();
        }

        int[][] dp = new int[N+1][K+1];

        //관건은 보석을 안넣었을때랑 넣었을때의 맥스를 비교하는것이다
        for(int i = 1; i &amp;lt;= N; i++){
            int weight = stuff[i-1][0];
            int value = stuff[i-1][1];

            for(int j = 1; j &amp;lt;= K; j++){
                //지금 보석을 못 넣는다면, 지금 최대 value는 이전보석, 이전가방무게의 value와 같다.
                if(weight &amp;gt; j){
                    dp[i][j] = dp[i-1][j];
                }else{
                    //보석을 넣을 수 있다면, 이 보석을 넣지않은것과 이 보석을 넣었을때의 가치를 비교한다.
                    dp[i][j] = Math.max(dp[i-1][j], dp[i-1][j-weight] + value);
                    /*
                    	헷갈릴까봐 주석 추가
                        
                        dp[i-1][j] -&amp;gt; 이 보석을 넣지 않았을때, 즉 현재가능한 무게에서 이전보석 케이스의 무게
                        dp[i-1][j-weight] -&amp;gt; 이 보석을 넣었을때, j-weight하는 이유는 이제 넣어야하니까 넣기전의 무게랑 비교하기위해
                    */
                }
            }
        }
        System.out.print(dp[N][K]);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/문제풀이</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/164</guid>
      <comments>https://leonjk3.tistory.com/164#entry164comment</comments>
      <pubDate>Thu, 14 Nov 2024 10:59:56 +0900</pubDate>
    </item>
    <item>
      <title>[Softeer] 함께하는 효도</title>
      <link>https://leonjk3.tistory.com/163</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;다 푼줄 알았는데,, DFS나 BFS를 모르고 풀기에는 무리가 있나보다.... 내코드는 오답임&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;남우는 m명의 친구를 불러 나무에서 열매를 수확하는 일을 맡겼습니다. 나무들은 n * n 크기의 격자 모양의 땅 위의 모든 칸에 심어져 있고, 각 나무마다 가능한 열매 수확량이 주어져 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;친구들은 n * n 크기의 격자 내의 서로 다른 위치에서 출발하여 1초에 1칸씩 상하좌우 인접한 칸 중 한 곳으로 움직일 수 있으며, 최종적으로 모든 열매 수확량의 합을 최대로 만들고자 합니다. 이때 각 칸에서 열매를 수확하는데 걸리는 시간은 0초이며, 한 나무에 여러 친구가 방문하게 되더라도 열매는 딱 한 번만 수확이 가능합니다. 또, 친구들끼리 이동하는 도중&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;b&gt;&lt;b&gt;이동 경로가 겹치는 것은 불가능합니다.&lt;/b&gt;&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;m명의 친구들이 3초 동안 최대로 얻을 수 있는 열매 수확량의 총 합을 구하는 프로그램을 작성해보세요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;본 문제의 저작권은 (주)브랜치앤바운드에 있으며, 저작자의 동의 없이 무단 전재/복제/배포를 금지합니다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: none;&quot;&gt;&lt;b&gt;&lt;b&gt;[2024-07-24] 문제 지문 중 일부를 변경하였으며, 해당 부분에 강조/밑줄을 추가하였습니다. ('이동 경로가 겹치는 것은 불가능합니다.')&lt;/b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;제약조건
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;b&gt;[조건 1]&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;2 &amp;le; n &amp;le; 20&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;b&gt;[조건 2]&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;1 &amp;le; m &amp;le; 3&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;b&gt;[조건 3]&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;1 &amp;le; 가능한 열매 수확량 &amp;le; 1,000&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;입력형식
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;첫 번째 줄에 n과 m이 공백을 사이에 두고 주어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;두 번째 줄부터는 n개의 줄에 걸쳐 각 행에 해당하는 n개의 가능한 열매 수확량 정보가 공백을 사이에 두고 주어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;n + 2번째 줄부터는 m개의 줄에 걸쳐 각 친구의 위치 정보 ( X&lt;/span&gt;&lt;span&gt;i&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, Y&lt;/span&gt;&lt;span&gt;i&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)가 공백을 사이에 두고 주어집니다. 이는 친구가 ( X&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;행, Y&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;열)에 위치해 있음을 뜻하며, 처음 위치가 겹쳐져 주어지는 경우는 없다고 가정해도 좋습니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;출력형식
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;첫 번째 줄에 얻을 수 있는 최대 열매 수확량의 합을 출력하세요. 단, 처음 시작하는 칸의 경우 0초 때 열매 수확이 가능함에 유의합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;입력예제1
&lt;p data-ke-size=&quot;size16&quot;&gt;4 2 20 26 185 80 100 20 25 80 20 20 88 99 15 32 44 50 1 2 2 3&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;출력예제1
&lt;p data-ke-size=&quot;size16&quot;&gt;633&lt;/p&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;578&quot; data-origin-height=&quot;575&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LXqVA/btsKsmDORma/jtC71uDwO8vC9PzIoJr8i0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LXqVA/btsKsmDORma/jtC71uDwO8vC9PzIoJr8i0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LXqVA/btsKsmDORma/jtC71uDwO8vC9PzIoJr8i0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLXqVA%2FbtsKsmDORma%2FjtC71uDwO8vC9PzIoJr8i0%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;578&quot; height=&quot;575&quot; data-origin-width=&quot;578&quot; data-origin-height=&quot;575&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 코드&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반례&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3&amp;nbsp;2 &lt;br /&gt;1&amp;nbsp;2&amp;nbsp;3 &lt;br /&gt;4&amp;nbsp;5&amp;nbsp;6 &lt;br /&gt;7&amp;nbsp;8&amp;nbsp;9 &lt;br /&gt;1&amp;nbsp;1 &lt;br /&gt;2&amp;nbsp;2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2번째 친구가 5-&amp;gt;6-&amp;gt;9에서 갇힘. 5-&amp;gt;6-&amp;gt;3-&amp;gt;2로 가야하는데,,, 내소스는 안간다.&lt;/p&gt;
&lt;pre id=&quot;code_1730378541015&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.*;
import java.util.*;

public class Main {
    public static int n;
    public static int m;
    public static int[][] land;
    public static int[][] visited;
    public static int[] dy = {0, 0, 1, -1};
    public static int[] dx = {1, -1, 0, 0};

    public static boolean isIn(int a, int b){
        return a &amp;gt;= 0 &amp;amp;&amp;amp; a &amp;lt; n &amp;amp;&amp;amp; b &amp;gt;= 0 &amp;amp;&amp;amp; b &amp;lt; n;
    }

    public static boolean isVisited(int a, int b){
        return visited[a][b] != 0;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt(); //땅 크기
        m = sc.nextInt(); //친구 수
        land = new int[n][n];
        visited = new int[n][n];

        //열매 수 셋팅
        for(int i = 0; i &amp;lt; n; i++){
            for(int j = 0; j &amp;lt; n; j++){
                land[i][j] = sc.nextInt();
            }
        }

        int sum = 0;
        for(int i = 0; i &amp;lt; m; i++){
            /*  1. 가려고 하는 방향(동,서,남,북)이 범위안에 있는지
                2. start거나 visited가 아닌곳
                3. 중에 가장 큰곳
            */
            int a = sc.nextInt()-1; //시작 열값
            int b = sc.nextInt()-1; //시작 행값

            visited[a][b] += 1;
            //첫 위치
            sum += land[a][b];
            for(int j = 0; j &amp;lt; 3; j++){
                //동서남북 탐방
                int temp = Integer.MIN_VALUE;
                int move = -1;
                for(int k = 0; k &amp;lt;= 3; k++){
                    if(isIn(a + dy[k], b + dx[k]) &amp;amp;&amp;amp; !isVisited(a + dy[k], b + dx[k])){
                        if(land[a + dy[k]][b + dx[k]] &amp;gt; temp){
                            temp = land[a + dy[k]][b + dx[k]];
                            move = k;
                        }
                    }
                }                
                sum += temp;
                a += dy[move];
                b += dx[move];
                visited[a][b] += 1;
            }
        }
        System.out.println(sum);
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>코딩테스트/문제풀이</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/163</guid>
      <comments>https://leonjk3.tistory.com/163#entry163comment</comments>
      <pubDate>Thu, 31 Oct 2024 21:42:23 +0900</pubDate>
    </item>
    <item>
      <title>[Softeer] GBC</title>
      <link>https://leonjk3.tistory.com/162</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;그냥저냥 구현문제..&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;글로벌 비즈니스 센터(GBC, Global Business Center)는 현대자동차그룹 통합 사옥이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;지하 7층, 지상 105층, 높이 약 570m의 규모로 2026년 하반기에 완공을 목표로 현재 공사 중에 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;367&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GvEKZ/btsKrKxYlpZ/hZKtrNOoInlnoJlKB1xzk0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GvEKZ/btsKrKxYlpZ/hZKtrNOoInlnoJlKB1xzk0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GvEKZ/btsKrKxYlpZ/hZKtrNOoInlnoJlKB1xzk0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGvEKZ%2FbtsKrKxYlpZ%2FhZKtrNOoInlnoJlKB1xzk0%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;652&quot; height=&quot;367&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;367&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이러한 초고층 높이의 빌딩에는 초고층 승강기가 들어가야 한다. 엘리베이터 정비공인 광우는 0m 부터 100m까지 일정 구간들의 엘리베이터 속도를 검사하는 업무를 맡게 되었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;빌딩에서 운영되는 엘리베이터 구간은 N개의 구간으로 나뉘며 해당 구간의 제한 속도이 주어진다. 구간의 총 합은 100m 이며 각 구간별 구간의 길이와 제한 속도 모두 양의 정수로 주어진다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;예를 들어보자. 구간이 3이라고 할 때,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;▶ 첫 번째 구간의 길이는 50m 이고 제한 속도는 50m/s&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;▶ 두 번째 구간의 길이는 40m 이고 제한 속도는 40m/s&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;▶ 세 번째 구간의 길이는 10m 이고 제한 속도는 30m/s&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이 구간에서 제한 속도를 벗어나면(즉 제한속도를 초과하면) 서버에 초과한만큼의 속도가 로그에 남는다. 불행하게도 현재 서버의 상태가 off 상태임으로 광우는 서버의 데이터를 받아볼 수가 없다. 광우는 임의의 구간의 길이와 속도를 정하여 시범운행 할 때, 가장 제한 속도가 크게 벗어난 값을 스스로 구해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;M개의 구간을 검사한다고 할 때 예를 들면,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;▶ 첫 번째 구간의 운행 길이는 60m 이고 속도는 76m/s&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;▶ 두 번째 구간의 운행 길이는 18m 이고 속도는 28m/s&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;▶ 세 번째 구간의 운행 길이는 22m 이고 속도는 50m/s이라고 했을 때, 제한 속도를 벗어나 가장 차이가 큰 속도를 구해 보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;첫번째 구간 50m 까지에서 제한 속도와 실제 운행 속도를 비교했을 때, 제한 속도를 26m/s 초과했다. 이후 두번째 구간과 실 운행한 첫번째 구간이 10m 정도 겹치는데, 이때 제한 속도를 36m/s 초과하게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그 이후 구간들에서는 차이가 그보다 크지 않으므로 가장 큰 속도 차이는 36m/s임을 알 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;주어진 구간의 제한속도와 광우가 테스트한 구간의 속도를 기준으로 가장 크게 제한 속도를 넘어간 값이 얼마인지 구해보자.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;제약조건
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1&amp;le; N, M &amp;le;100&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;입력형식
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;첫 줄에 N과 M이 주어진다. 그 다음 줄부터 N개의 줄은 각 구간의 길이 및 해당 구간에서의 제한 속도가 주어지며, 다음 M개의 줄은 광우가 테스트하는 구간의 길이와 속도가 주어진다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;출력형식
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;광우가 시범운행을 하는 동안 제한 속도를 가장 크게 벗어난 값을 출력 한다. 단 제한 속도를 벗어나지 않은 경우는 0을 출력 한다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 코드&lt;/p&gt;
&lt;pre id=&quot;code_1730358207100&quot; class=&quot;java&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) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();

        int[][] limit = new int[N][2];
        for(int i = 0; i &amp;lt; N; i++){
            limit[i][0] = sc.nextInt();
            limit[i][1] = sc.nextInt();
        }

        int max = 0;
        int idx = 0;
        for(int i = 0; i &amp;lt; M; i++){
            int d = sc.nextInt();
            int s = sc.nextInt();

            while(d &amp;gt; 0){
                //과속했다면
                if(s &amp;gt;= limit[idx][1]){
                    max = Math.max(max, s-limit[idx][1]);
                }

                if(d &amp;gt;= limit[idx][0]){
                    d -= limit[idx][0];
                    idx++;
                }else{
                    limit[idx][0] -= d;
                    break;
                }
            }
        }
        System.out.print(max);
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>코딩테스트/문제풀이</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/162</guid>
      <comments>https://leonjk3.tistory.com/162#entry162comment</comments>
      <pubDate>Thu, 31 Oct 2024 16:03:29 +0900</pubDate>
    </item>
    <item>
      <title>[Softeer] [21년 재직자 대회 예선] 회의실 예약</title>
      <link>https://leonjk3.tistory.com/161</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;단순 구현이다. 이런 점, 선기준(회의실,, 예약 등등)에서는 인덱스값을 정확히 할것.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;회사에는 N개의 회의실이 있다. 수많은 팀이 모여 토론하고 업무를 처리하기 위해서는 회의실이 필수적이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;내부망에 아주 간단한 회의실 예약 시스템이 있지만 편의성이 매우 떨어진다. 단순히 예약된 회의의 목록만 표시되기 때문에, 방 별로 비어 있는 시간이 언제인지를 확인하기가 힘든 것이다. 당신은 이를 직접 해결해 보기로 마음 먹었다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;회의실 이용 규칙은 다음과 같다:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;- 회의실은 9시부터 18시까지만 사용 가능하다. 모든 회의의 시간은 이 안에 완전히 포함되어야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;- 회의는 정확히 한 회의실을 연속한 일정 시간 동안만 점유한다. 즉 각 회의는 (회의실, 시작 시각, 종료 시각)의 정보로 나타낼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;- 회의의 시작과 종료 시각은 시(時, hour) 단위로만 설정 가능하다. 같은 회의실을 사용하는 회의 시간은 서로 겹칠 수 없다. 여기서 겹친다는 것은, 두 회의 모두에 포함되는 시간이 1시간 이상 존재한다는 것을 의미한다. 예를 들어, 10시-12시의 회의와 11시-13시의 회의는 겹치는데, 11시-12시의 시간이 두 회의 모두에 포함되기 때문이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;- 한 회의가 끝나는 시각에, 같은 회의실에서 다른 회의가 시작하는 것은 허용된다. 이 경우 두 회의가 겹치지 않기 때문이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;- 길이가 0인 회의, 즉 시작 시각과 종료 시각이 동일한 회의는 예약된 바 없으며, 새롭게 잡을 수도 없다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이미 예약된 M개의 회의에 대한 정보가 주어지면, 회의실별로 비어 있는 시간대를 정리해 출력하는 프로그램을 작성해 보자. 구체적인 형식은 아래를 참고하시오.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;제약조건
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1 &amp;le; N &amp;le; 50&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1 &amp;le; M &amp;le; 100&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;회의실의 이름은 영문 알파벳 소문자로만 이루어져 있으며 길이는 1 이상 10 이하이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;주어지는 모든 시각은 9 이상 18 이하이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;회의의 시작 시각은 회의의 종료 시각을 1시간 이상 앞선다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;입력형식
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;첫째 줄에 회의실의 수와 예약된 회의의 수를 나타내는 정수 N과 M이 공백을 사이에 두고 주어진다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이어 N개의 줄에는 각 회의실의 이름이 주어진다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이어 M개의 줄에는 각 회의가 배정된 회의실의 이름 r과 시작 시각 s, 그리고 종료 시각 t가 공백을 사이에 두고 주어진다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;출력형식
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;각 회의실에 대한 정보를 회의실 이름의 오름차순으로 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;각 회의실에 대한 정보는 다음과 같다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;첫째 줄에는 { Room 회의실이름: } (중괄호 제외)을 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;둘째 줄에는 예약가능 시간을 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;- 예약 가능한 시간대의 개수를 n이라고 할 때, { n available: } (중괄호 제외)을 출력하고, 뒤따른 n개의 줄에 예약 가능한 시간대를 { 09-18 } (하이픈 한개, 중괄호 제외)형태로 출력해야 한다. 한 자리 수의 경우 앞에 0을 붙여 두 자리 수로 만들어야 함에 유의하라.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;- 예약 가능한 시간이 없다면, Not available을 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;각 회의실에 대한 정보 사이에는 ----- (하이픈 다섯 개)로 구분선이 출력되어야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;
&lt;div&gt;입력예제1
&lt;p data-ke-size=&quot;size16&quot;&gt;3 7 grandeur avante sonata sonata 14 16 grandeur 11 12 avante 15 18 sonata 10 11 avante 9 12 grandeur 16 18 avante 12 15&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;출력예제1
&lt;p data-ke-size=&quot;size16&quot;&gt;Room avante: Not available ----- Room grandeur: 2 available: 09-11 12-16 ----- Room sonata: 3 available: 09-10 11-14 16-18&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #000000; text-align: start;&quot;&gt;
&lt;div&gt;입력예제2
&lt;p data-ke-size=&quot;size16&quot;&gt;3 2 santafe aerocity porter santafe 9 12 porter 9 18&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;출력예제2
&lt;p data-ke-size=&quot;size16&quot;&gt;Room aerocity: 1 available: 09-18 ----- Room porter: Not available ----- Room santafe: 1 available: 12-18&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 코드&lt;/p&gt;
&lt;pre id=&quot;code_1730352147242&quot; class=&quot;java&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 int N;
    public static int M;
    public static String[] rooms;
    public static int[][] meets;
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        N = sc.nextInt();
        M = sc.nextInt();

        //회의실 셋팅
        rooms = new String[N];
        for(int i = 0; i &amp;lt; N; i++){
            rooms[i] = sc.next();
        }
        Arrays.sort(rooms);

        //회의값 셋팅
        meets = new int[N][19];
        for(int i = 0; i &amp;lt; M; i++){
            int roomNum = getRoomNum(sc.next());
            int start = sc.nextInt();
            int end = sc.nextInt();
            
            for(int j = start; j &amp;lt; end; j++){
                meets[roomNum][j] += 1;
            }
        }


        for(int i = 0; i &amp;lt; rooms.length; i++){
            System.out.println(String.format(&quot;Room %s:&quot;, rooms[i]));
            int cnt = getPossible(i);
            
            if(cnt &amp;gt; 0){
                System.out.println(String.format(&quot;%d available:&quot;, cnt));

                for(int j = 9; j &amp;lt; 18; j++){
                    if(meets[i][j] == 0){
                        System.out.println(String.format(&quot;%02d-%02d&quot;, j, getNextMeet(i, j)));
                        j = getNextMeet(i, j);
                    }
                }
            }else{
                System.out.println(&quot;Not available&quot;);
            }
            if(i != rooms.length-1){
                System.out.println(&quot;-----&quot;);
            }
            
        }
    }

    public static int getRoomNum(String roomName){
        return Arrays.asList(rooms).indexOf(roomName);
    }

    public static int getPossible(int roomNum){
        int ret = 0;
        for(int i = 9; i &amp;lt; 18; i++){
            if(meets[roomNum][i] == 0){
                ret++;
                i = getNextMeet(roomNum, i);
            }
        }
        return ret;
    }

    public static int getNextMeet(int roomNum, int now){
        int ret = 18;
        for(int i = now; i &amp;lt; 18; i++){
            if(meets[roomNum][i+1] == 1){
                ret = i+1;
                break;
            }
        }
        return ret;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>코딩테스트/문제풀이</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/161</guid>
      <comments>https://leonjk3.tistory.com/161#entry161comment</comments>
      <pubDate>Thu, 31 Oct 2024 14:22:29 +0900</pubDate>
    </item>
    <item>
      <title>코딩테스트 보기 전 보고들어갈 것</title>
      <link>https://leonjk3.tistory.com/160</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;int[] a 역순정렬 &lt;/b&gt;Arrays.stream(a).boxed().sorted(Comparator.reverseOrder()).mapToInt(Integer::intValue).toArray();&lt;/li&gt;
&lt;li&gt;String[] a를 int[]배열로 Arrays.stream(a).mapToInt(Integer::parseInt).toArray();&lt;/li&gt;
&lt;li&gt;객체 정렬&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1730297611133&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class People implements Comparable&amp;lt;People&amp;gt;{
	String name;
    int age;
    
    People(String name, int age){
    	this.name = name;
        this.age = age;
    }
    
    @Override
    public int compareTo(People people){
    	if(this.age &amp;gt; people.age){
        	return 1;
        }else if(this.age == people.age){
        	return 0;
        }else{
        	return -1;
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트/Algorithm</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/160</guid>
      <comments>https://leonjk3.tistory.com/160#entry160comment</comments>
      <pubDate>Wed, 30 Oct 2024 23:15:30 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] 콜라문제</title>
      <link>https://leonjk3.tistory.com/159</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;아니 나는 풀었는데 미친 답이 있어서 그게 이해가 안된다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미친 답&lt;/p&gt;
&lt;pre id=&quot;code_1730268432845&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
    public int solution(int a, int b, int n) {
        return (n &amp;gt; b ? n - b : 0) / (a - b) * b;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;a-b -&amp;gt; a개주면 b개 돌려받기때문에 (a-b) * b인거는 알겠는데,, 왜 n-b..?&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제&amp;nbsp;설명 &lt;br /&gt;오래전&amp;nbsp;유행했던&amp;nbsp;콜라&amp;nbsp;문제가&amp;nbsp;있습니다.&amp;nbsp;콜라&amp;nbsp;문제의&amp;nbsp;지문은&amp;nbsp;다음과&amp;nbsp;같습니다. &lt;br /&gt;&lt;br /&gt;정답은&amp;nbsp;아무에게도&amp;nbsp;말하지&amp;nbsp;마세요. &lt;br /&gt;&lt;br /&gt;콜라&amp;nbsp;빈&amp;nbsp;병&amp;nbsp;2개를&amp;nbsp;가져다주면&amp;nbsp;콜라&amp;nbsp;1병을&amp;nbsp;주는&amp;nbsp;마트가&amp;nbsp;있다.&amp;nbsp;빈&amp;nbsp;병&amp;nbsp;20개를&amp;nbsp;가져다주면&amp;nbsp;몇&amp;nbsp;병을&amp;nbsp;받을&amp;nbsp;수&amp;nbsp;있는가? &lt;br /&gt;&lt;br /&gt;단,&amp;nbsp;보유&amp;nbsp;중인&amp;nbsp;빈&amp;nbsp;병이&amp;nbsp;2개&amp;nbsp;미만이면,&amp;nbsp;콜라를&amp;nbsp;받을&amp;nbsp;수&amp;nbsp;없다. &lt;br /&gt;&lt;br /&gt;문제를&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;20병을&amp;nbsp;가져가서&amp;nbsp;10병을&amp;nbsp;받습니다.&amp;nbsp;받은&amp;nbsp;10병을&amp;nbsp;모두&amp;nbsp;마신&amp;nbsp;뒤,&amp;nbsp;가져가서&amp;nbsp;5병을&amp;nbsp;받습니다.&amp;nbsp;5병&amp;nbsp;중&amp;nbsp;4병을&amp;nbsp;모두&amp;nbsp;마신&amp;nbsp;뒤&amp;nbsp;가져가서&amp;nbsp;2병을&amp;nbsp;받고,&amp;nbsp;또&amp;nbsp;2병을&amp;nbsp;모두&amp;nbsp;마신&amp;nbsp;뒤&amp;nbsp;가져가서&amp;nbsp;1병을&amp;nbsp;받습니다.&amp;nbsp;받은&amp;nbsp;1병과&amp;nbsp;5병을&amp;nbsp;받았을&amp;nbsp;때&amp;nbsp;남은&amp;nbsp;1병을&amp;nbsp;모두&amp;nbsp;마신&amp;nbsp;뒤&amp;nbsp;가져가면&amp;nbsp;1병을&amp;nbsp;또&amp;nbsp;받을&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;이&amp;nbsp;경우&amp;nbsp;상빈이는&amp;nbsp;총&amp;nbsp;10&amp;nbsp;+&amp;nbsp;5&amp;nbsp;+&amp;nbsp;2&amp;nbsp;+&amp;nbsp;1&amp;nbsp;+&amp;nbsp;1&amp;nbsp;=&amp;nbsp;19병의&amp;nbsp;콜라를&amp;nbsp;받을&amp;nbsp;수&amp;nbsp;있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;815&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vmohh/btsKosyDecH/0cG1xk9BolFOomHt0LjFM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vmohh/btsKosyDecH/0cG1xk9BolFOomHt0LjFM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vmohh/btsKosyDecH/0cG1xk9BolFOomHt0LjFM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvmohh%2FbtsKosyDecH%2F0cG1xk9BolFOomHt0LjFM0%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;755&quot; height=&quot;815&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;815&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제를&amp;nbsp;열심히&amp;nbsp;풀던&amp;nbsp;상빈이는&amp;nbsp;일반화된&amp;nbsp;콜라&amp;nbsp;문제를&amp;nbsp;생각했습니다.&amp;nbsp;이&amp;nbsp;문제는&amp;nbsp;빈&amp;nbsp;병&amp;nbsp;a개를&amp;nbsp;가져다주면&amp;nbsp;콜라&amp;nbsp;b병을&amp;nbsp;주는&amp;nbsp;마트가&amp;nbsp;있을&amp;nbsp;때,&amp;nbsp;빈&amp;nbsp;병&amp;nbsp;n개를&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;a개&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;프로그램을&amp;nbsp;만들어&amp;nbsp;주세요. &lt;br /&gt;&lt;br /&gt;콜라를&amp;nbsp;받기&amp;nbsp;위해&amp;nbsp;마트에&amp;nbsp;주어야&amp;nbsp;하는&amp;nbsp;병&amp;nbsp;수&amp;nbsp;a,&amp;nbsp;빈&amp;nbsp;병&amp;nbsp;a개를&amp;nbsp;가져다&amp;nbsp;주면&amp;nbsp;마트가&amp;nbsp;주는&amp;nbsp;콜라&amp;nbsp;병&amp;nbsp;수&amp;nbsp;b,&amp;nbsp;상빈이가&amp;nbsp;가지고&amp;nbsp;있는&amp;nbsp;빈&amp;nbsp;병의&amp;nbsp;개수&amp;nbsp;n이&amp;nbsp;매개변수로&amp;nbsp;주어집니다.&amp;nbsp;상빈이가&amp;nbsp;받을&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;콜라의&amp;nbsp;병&amp;nbsp;수를&amp;nbsp;return&amp;nbsp;하도록&amp;nbsp;solution&amp;nbsp;함수를&amp;nbsp;작성해주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;705&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/43otx/btsKpSbNj4L/Sw5OBB4zpxGGv4lm7FkwFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/43otx/btsKpSbNj4L/Sw5OBB4zpxGGv4lm7FkwFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/43otx/btsKpSbNj4L/Sw5OBB4zpxGGv4lm7FkwFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F43otx%2FbtsKpSbNj4L%2FSw5OBB4zpxGGv4lm7FkwFk%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;705&quot; height=&quot;342&quot; data-origin-width=&quot;705&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 코드&lt;/p&gt;
&lt;pre id=&quot;code_1730268406881&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
    public int solution(int a, int b, int n) {
        int answer = 0;

        while(n / a &amp;gt; 0){
            answer += (n / a) * b;
            n = (n % a) + ((n / a) * b);
        }
        return answer;
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>코딩테스트/문제풀이</category>
      <author>알렉스 페레이라</author>
      <guid isPermaLink="true">https://leonjk3.tistory.com/159</guid>
      <comments>https://leonjk3.tistory.com/159#entry159comment</comments>
      <pubDate>Wed, 30 Oct 2024 15:12:35 +0900</pubDate>
    </item>
  </channel>
</rss>