<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>hyoding</title>
    <link>https://gusdkstudyhard.tistory.com/</link>
    <description>개ㄱ발은 기세다. 줄여서 객기.</description>
    <language>ko</language>
    <pubDate>Sun, 31 May 2026 18:32:33 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>효딩</managingEditor>
    <image>
      <title>hyoding</title>
      <url>https://tistory1.daumcdn.net/tistory/6275789/attach/715fb6bd909f400cb9d3c2b2ccd479da</url>
      <link>https://gusdkstudyhard.tistory.com</link>
    </image>
    <item>
      <title>[프로그래머스 고득점 Kit/Java] 더 맵게</title>
      <link>https://gusdkstudyhard.tistory.com/251</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;1160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bz7Ut7/btsNlMMSKLB/KlVuxCcfVgRvMzzfb9hPuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bz7Ut7/btsNlMMSKLB/KlVuxCcfVgRvMzzfb9hPuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bz7Ut7/btsNlMMSKLB/KlVuxCcfVgRvMzzfb9hPuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbz7Ut7%2FbtsNlMMSKLB%2FKlVuxCcfVgRvMzzfb9hPuk%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;1760&quot; height=&quot;1160&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;1160&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;1728&quot; data-origin-height=&quot;1022&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCHksz/btsNk39S5jD/ZD67BJOZjSytk8vlycsSqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCHksz/btsNk39S5jD/ZD67BJOZjSytk8vlycsSqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCHksz/btsNk39S5jD/ZD67BJOZjSytk8vlycsSqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCHksz%2FbtsNk39S5jD%2FZD67BJOZjSytk8vlycsSqK%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;1728&quot; height=&quot;1022&quot; data-origin-width=&quot;1728&quot; data-origin-height=&quot;1022&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;배열의 모든 값이 K(스코빌 지수) 이상이 될 때까지&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;b&gt;가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 한다.&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;원래는 ArrayList를 만들어 스코빌 지수를 넣고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매번 정렬을 하려고 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 시간 + 정확도 테스트에서 모두 점수를 제대로 받지 못했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러던 중 우선순위 큐를 사용해야 함을 알게 됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선순위 큐는 일반적인 큐와 달리, 들어가는 순서와 상관없이 우선순위가 높은 데이터가 먼저 나가므로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따로 정렬을 해줄 필요가 없어 기존 방식에 비해 훨씬 효율적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1744644863273&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 기본형: 우선순위가 낮은 숫자가 먼저 나옴 (작은 숫자)
PriorityQueue&amp;lt;Integer&amp;gt; pQ = new PriorityQueue&amp;lt;&amp;gt;();
 
// 우선순위가 높은 숫자가 먼저 나옴 (큰 숫자)
PriorityQueue&amp;lt;Integer&amp;gt; pQ = new PriorityQueue&amp;lt;&amp;gt;(Collections.reverseOrder());&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 이용해서 해결한 방식은 다음과 같다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;PriorityQueue 사용&lt;/h3&gt;
&lt;pre id=&quot;code_1744644905456&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;
import java.io.*;
class Solution {
    public int solution(int[] scoville, int K) {
        int cnt = 0;
        
        PriorityQueue&amp;lt;Integer&amp;gt; pq = new PriorityQueue&amp;lt;&amp;gt;();
        for (int scov : scoville) {
            pq.offer(scov);
        }
        
        while (true) {
            int first = pq.poll();
            if (first &amp;gt;= K) return cnt;
            if (pq.size() &amp;lt; 1) return -1;
            int second = pq.poll();
            pq.offer(first + (second * 2));
            cnt++;
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 또 하나 주의할 점이 있었는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제에서 &quot;모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우 -1을 return&quot; 하라고 했다.&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;따라서 첫 번째 숫자(가장 낮은 스코빌 지수)가 K 이하인데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pq의 size가 1보다 작다면 (모든 수를 다 poll했는데도 K 이상이 없었다면) -1을 return 해준다.&lt;/p&gt;</description>
      <category>Languages/Java</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/251</guid>
      <comments>https://gusdkstudyhard.tistory.com/251#entry251comment</comments>
      <pubDate>Tue, 15 Apr 2025 00:44:01 +0900</pubDate>
    </item>
    <item>
      <title>[BOJ 길라잡이/Java] 14일차 #9095 1, 2, 3 더하기</title>
      <link>https://gusdkstudyhard.tistory.com/250</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1392&quot; data-origin-height=&quot;1332&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/em1A9j/btsNaGmmXfN/OTRyTTbFl7fHjHs1rLdpwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/em1A9j/btsNaGmmXfN/OTRyTTbFl7fHjHs1rLdpwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/em1A9j/btsNaGmmXfN/OTRyTTbFl7fHjHs1rLdpwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fem1A9j%2FbtsNaGmmXfN%2FOTRyTTbFl7fHjHs1rLdpwk%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;1392&quot; height=&quot;1332&quot; data-origin-width=&quot;1392&quot; data-origin-height=&quot;1332&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;1376&quot; data-origin-height=&quot;1126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zlf3q/btsM9HUn84I/VvGVaE6EWGUiXZ3QfsKZCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zlf3q/btsM9HUn84I/VvGVaE6EWGUiXZ3QfsKZCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zlf3q/btsM9HUn84I/VvGVaE6EWGUiXZ3QfsKZCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fzlf3q%2FbtsM9HUn84I%2FVvGVaE6EWGUiXZ3QfsKZCK%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;1376&quot; height=&quot;1126&quot; data-origin-width=&quot;1376&quot; data-origin-height=&quot;1126&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;알고리즘 분류&lt;/h3&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;주어진 정수 n(양수, 11보다 작음)을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 문제다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공책에 쭉쭉 경우의 수를 적다가 규칙을 발견했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[n] = cases[n-1] + cases[n-2] + cases[n-3]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 n의 방법의 수는 n-1, n-2, n-3의 방법의 수를 모두 합친 것과 같다는 것이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;써내려가다보니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[1] = 1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[2] = 2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[3] = 4&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[4] = 7&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[5] = 13&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[6] = 24&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[7] = 44&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[8] = 81&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[9] = 149&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cases[10] = 274&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 식으로 값이 나왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작성한 코드는 다음과 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1743921119664&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;
import java.io.*;

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

        int T = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i &amp;lt; T; i++) {
            int n = Integer.parseInt(br.readLine());
            sb.append(dp(n)).append(&quot;\n&quot;);
        }

        System.out.println(sb);
                
    }

    private static int dp(int n) {
        if (n == 1) {
            return 1;
        } else if (n == 2) {
            return 2;
        } else if (n == 3) {
            return 4;
        } else {
            return dp(n-1) + dp(n-2) + dp(n-3);
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예전에 풀었던 방법을 보니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어차피 n이 11보다 작다고 문제에 주어져 있으므로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dp[4]부터 dp[10]까지 값을 모두 구한 뒤&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;n에 해당하는 값만 출력해도 됐다.&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_1743921224044&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    static int[] dp = new int[11];
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(br.readLine());

        dp[1] = 1; // 1
        dp[2] = 2; // 1+1, 2
        dp[3] = 4; // 1+1+1, 1+2, 2+1, 3

        for (int i = 4; i &amp;lt; 11; i++) {
            dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];
        }

        for (int i = 0; i &amp;lt; T; i++) {
            int n = Integer.parseInt(br.readLine());
            System.out.println(dp[n]);
        }
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Languages/Java</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/250</guid>
      <comments>https://gusdkstudyhard.tistory.com/250#entry250comment</comments>
      <pubDate>Sun, 6 Apr 2025 15:34:18 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스 고득점 Kit/Java] 기능개발</title>
      <link>https://gusdkstudyhard.tistory.com/249</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1114&quot; data-origin-height=&quot;1224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p9Zdp/btsM5y27oaX/5KKcII0zDkncR5hgrCFbV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p9Zdp/btsM5y27oaX/5KKcII0zDkncR5hgrCFbV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p9Zdp/btsM5y27oaX/5KKcII0zDkncR5hgrCFbV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp9Zdp%2FbtsM5y27oaX%2F5KKcII0zDkncR5hgrCFbV0%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;1114&quot; height=&quot;1224&quot; data-origin-width=&quot;1114&quot; data-origin-height=&quot;1224&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;1120&quot; data-origin-height=&quot;1150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MlQqP/btsM6CpXMQw/xhTrp1kSxktHYBO6ia1Bqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MlQqP/btsM6CpXMQw/xhTrp1kSxktHYBO6ia1Bqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MlQqP/btsM6CpXMQw/xhTrp1kSxktHYBO6ia1Bqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMlQqP%2FbtsM6CpXMQw%2FxhTrp1kSxktHYBO6ia1Bqk%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;1120&quot; height=&quot;1150&quot; data-origin-width=&quot;1120&quot; data-origin-height=&quot;1150&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;깔깔&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;답지를 볼까 수많은 유혹의 생각들이 들었지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보지 않고 스스로의 힘으로 해냈다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 발전해나가는 나..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제법 대견할지도?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각설하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제를 풀어보자!&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;각 기능은 진도가 100%일 때 서비스에 반영할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또, 각 기능의 개발 속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있지만,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 배포마다 몇 개의 기능이 배포되는지를 return 하는 문제다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1743574340332&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
    public int[] solution(int[] progresses, int[] speeds) {
        int[] answer = {};
        ArrayList&amp;lt;Integer&amp;gt; q = new ArrayList&amp;lt;&amp;gt;();
        ArrayList&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;&amp;gt;();
        for (int i = 0; i &amp;lt; speeds.length; i++) {
            int num = (100 - progresses[i]) / speeds[i];
            if ((100 - progresses[i]) % speeds[i] != 0) {
                num++;
            }
            q.add(num);
        }
        
        int last = q.get(0);
        int index = 0;
        int cnt = 0;
        
        while(true) {
            if (index &amp;gt;= speeds.length) {
                list.add(cnt);
                break;
            }
            if (last &amp;lt; q.get(index)) {
                list.add(cnt);
                last = q.get(index);
                cnt = 0;
            } else {
                index++;
                cnt++;
            }
        }
        return list.stream().mapToInt(i-&amp;gt;i).toArray();
    }
}&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;처음에는 queue를 사용해서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞에서부터 하나씩 poll()할까 생각했지만,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;queue는 index를 사용하지 못해서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 생각하는 방법에 적용할 수 없었고 arraylist로 변경했다.&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;(100 - progress(작업진도)) / speed(작업속도)를 넣어준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 100%가 될 때까지 며칠이 걸리는지를 나타낸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 주의해야 할 점은&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;그렇게 하고 last에 배열의 첫 번째 값을 저장,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;index와 cnt는 0으로 초기화한 후&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;index를 마지막까지 돌며&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;- index가 배열 길이에 도달하면 마지막 cnt값을 list에 넣고 종료한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- last 값이 해당 index에 해당하는 배열 값보다 작으면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 쌓인 cnt값을 배열에 넣고, last를 해당 index의 값으로 바꾸고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cnt는 0으로 초기화한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- last 값이 해당 index에 해당하는 배열 값보다 크거나 같으면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함께 배포되어야할 친구들이므로 index와 cnt를 1씩 늘려주고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음으로 넘어간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막에는 list를 int배열로 바꿔 출력하면 된다.&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;원래 생각한대로 queue를 사용한다면 어땠을까?&lt;/p&gt;
&lt;pre id=&quot;code_1743575983324&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
    public int[] solution(int[] progresses, int[] speeds) {
        Queue&amp;lt;Integer&amp;gt; days = new LinkedList&amp;lt;&amp;gt;();
        
        for (int i = 0; i &amp;lt; progresses.length; i++) {
            int day = (100 - progresses[i]) / speeds[i];
            if ((100 - progresses[i]) % speeds[i] != 0) {
                day++;
            }
            days.add(day);
        }
        
        List&amp;lt;Integer&amp;gt; result = new ArrayList&amp;lt;&amp;gt;();
        int current = days.poll();
        int count = 1;
        
        while (!days.isEmpty()) {
            if (days.peek() &amp;lt;= current) {
                days.poll();
                count++;
            } else {
                result.add(count);
                current = days.poll();
                count = 1;
            }
        }
        result.add(count); // 마지막 묶음
        
        return result.stream().mapToInt(i -&amp;gt; i).toArray();
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Languages/Java</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/249</guid>
      <comments>https://gusdkstudyhard.tistory.com/249#entry249comment</comments>
      <pubDate>Wed, 2 Apr 2025 15:40:06 +0900</pubDate>
    </item>
    <item>
      <title>[BOJ 길라잡이/Java] 13일차 #1182 부분수열의 합</title>
      <link>https://gusdkstudyhard.tistory.com/248</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2146&quot; data-origin-height=&quot;1368&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blJgE1/btsM33vy3rt/n9RwV7NEmgteJEklHHw811/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blJgE1/btsM33vy3rt/n9RwV7NEmgteJEklHHw811/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blJgE1/btsM33vy3rt/n9RwV7NEmgteJEklHHw811/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblJgE1%2FbtsM33vy3rt%2Fn9RwV7NEmgteJEklHHw811%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;2146&quot; height=&quot;1368&quot; data-origin-width=&quot;2146&quot; data-origin-height=&quot;1368&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;알고리즘 분류&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 브루트포스 알고리즘&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 백트래킹&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주어진 수열의 부분수열 중 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 문제다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제를 보고 depth를 하나씩 더해나가면서 백트래킹으로 풀어야겠다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;까지는 생각했는데 그걸 어떻게 구현해야 할지는 감이 안 왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구글링 통해 알아낸 방법을 이해하려 노력했다.&lt;/p&gt;
&lt;pre id=&quot;code_1743489158270&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;
import java.io.*;

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

        StringTokenizer st = new StringTokenizer(br.readLine());
        N = Integer.parseInt(st.nextToken());
        S = Integer.parseInt(st.nextToken());

        arr = new int[N];
        st = new StringTokenizer(br.readLine());
        for (int i = 0; i &amp;lt; N; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }

        dfs(0, 0);
        if (S == 0) cnt--; // 공집합 제외
        System.out.println(cnt);
                
    }

    public static void dfs(int depth, int sum) {
        if (depth == N) {
            if (sum == S) cnt++;
            return;
        }

        dfs(depth + 1, sum + arr[depth]); // 원소를 선택한 경우
        dfs(depth + 1, sum); // 원소를 선택하지 않은 경우
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 함수는 모든 부분 수열을 탐색한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2^N개의 조합을 체크)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선택 or 선택하지 않음의 2갈래로 분기하는 재귀&lt;/p&gt;</description>
      <category>Languages/Java</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/248</guid>
      <comments>https://gusdkstudyhard.tistory.com/248#entry248comment</comments>
      <pubDate>Tue, 1 Apr 2025 15:36:44 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스 고득점 Kit/Java] 같은 숫자는 싫어</title>
      <link>https://gusdkstudyhard.tistory.com/247</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;1230&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cK3dR1/btsM45yVbtr/JvxeibPqYc2wK9986exFck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cK3dR1/btsM45yVbtr/JvxeibPqYc2wK9986exFck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cK3dR1/btsM45yVbtr/JvxeibPqYc2wK9986exFck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcK3dR1%2FbtsM45yVbtr%2FJvxeibPqYc2wK9986exFck%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;1146&quot; height=&quot;1230&quot; data-origin-width=&quot;1146&quot; data-origin-height=&quot;1230&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;배열 arr에서 연속적으로 나타나는 숫자를 하나만 남기고 제거해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 제거된 후 남은 수들은 배열 arr의 원소들의 순서를 유지해야 한다.&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;set을 사용해서 중복을 제거하려고 했지만,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연속적으로 나타나는 숫자를 하나로 남기는 문제이므로 set은 사용할 수 없음을 알았다.&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;앞에 숫자랑 비교해서 일치하지 않는 경우에만 list에 추가하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막에 list를 arr로 바꿔 출력하는 것이었다.&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;pre id=&quot;code_1743478805278&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 Solution {
    public int[] solution(int []arr) {
        ArrayList&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;&amp;gt;();
        list.add(arr[0]);
        for (int i = 1; i &amp;lt; arr.length; i++) {
            if (arr[i] != arr[i - 1]) {
                list.add(arr[i]);
            }
        }
        int[] answer = new int[list.size()];
        for (int i = 0; i &amp;lt; list.size(); i++) {
            answer[i] = list.get(i);
        }
        // list.stream().mapToInt(i-&amp;gt;i).toArray();
        return answer;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구글링해보니 스택을 사용하는 방법도 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체적인 플로우는 같았다.&lt;/p&gt;
&lt;pre id=&quot;code_1743479008123&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 Solution {
    public int[] solution(int []arr) {
        Stack&amp;lt;Integer&amp;gt; stack = new Stack&amp;lt;&amp;gt;();
        
        for (int i : arr) {
            if (stack.isEmpty() || !stack.peek().equals(i)) {
            stack.push(i);
        }
        
        return stack.stream().mapToInt(i-&amp;gt;i).toArray();
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Languages/Java</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/247</guid>
      <comments>https://gusdkstudyhard.tistory.com/247#entry247comment</comments>
      <pubDate>Tue, 1 Apr 2025 12:44:29 +0900</pubDate>
    </item>
    <item>
      <title>[BOJ 길라잡이/Java] 12일차 #6603 로또</title>
      <link>https://gusdkstudyhard.tistory.com/246</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1176&quot; data-origin-height=&quot;1288&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf8qoz/btsM2VJMTOx/l9S0HaGZ6J5UKx0qDKoZKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf8qoz/btsM2VJMTOx/l9S0HaGZ6J5UKx0qDKoZKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf8qoz/btsM2VJMTOx/l9S0HaGZ6J5UKx0qDKoZKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf8qoz%2FbtsM2VJMTOx%2Fl9S0HaGZ6J5UKx0qDKoZKk%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;1176&quot; height=&quot;1288&quot; data-origin-width=&quot;1176&quot; data-origin-height=&quot;1288&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;1160&quot; data-origin-height=&quot;688&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSLASF/btsM2Ehb6DH/m4dWXcqADwY1PPd1zAu4Sk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSLASF/btsM2Ehb6DH/m4dWXcqADwY1PPd1zAu4Sk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSLASF/btsM2Ehb6DH/m4dWXcqADwY1PPd1zAu4Sk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSLASF%2FbtsM2Ehb6DH%2Fm4dWXcqADwY1PPd1zAu4Sk%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;1160&quot; height=&quot;688&quot; data-origin-width=&quot;1160&quot; data-origin-height=&quot;688&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;1164&quot; data-origin-height=&quot;1150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uASlc/btsM2y2m4m0/PhoSJpZqvlct4ibjBcuqVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uASlc/btsM2y2m4m0/PhoSJpZqvlct4ibjBcuqVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uASlc/btsM2y2m4m0/PhoSJpZqvlct4ibjBcuqVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuASlc%2FbtsM2y2m4m0%2FPhoSJpZqvlct4ibjBcuqVk%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;1164&quot; height=&quot;1150&quot; data-origin-width=&quot;1164&quot; data-origin-height=&quot;1150&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;알고리즘 분류&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 수학&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 조합론&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 백트래킹&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 재귀&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;크기가 k인 집합 S가 주어졌을 때 그 중 6개를 고를 수 있는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경우의 수를 모두 출력하는 문제다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;머릿속으로는 kC6 경우의 수를&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;집합 S에서 해당 index 찾아 출력하면 되겠다~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생각했는데, 코드로 어떻게 combination을 구현하는지 몰라서 헤맸다.&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;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;pre id=&quot;code_1743223942890&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;
import java.io.*;

class Main {
    static int k;
    static int[] S, numbers;
    static StringBuilder sb;
    
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        sb = new StringBuilder();
        
        while(true) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            k = Integer.parseInt(st.nextToken());
            if (k == 0) {
                break;
            }
            S = new int[k];
            numbers = new int[6];
            
            for (int i = 0; i &amp;lt; k; i++) {
                S[i] = Integer.parseInt(st.nextToken());
            }

            combi(0, 0);
            sb.append(&quot;\n&quot;);
        }

        System.out.println(sb);
        
    }

    public static void combi(int depth, int start) {
        if (depth == 6) {
            for (int i = 0; i &amp;lt; 6; i++) {
                sb.append(numbers[i]).append(&quot; &quot;);
            }
            sb.append(&quot;\n&quot;);
            return;
        }
        for (int i = start; i &amp;lt; k; i++) {
            numbers[depth] = S[i]; // 현재 depth(위치)에 숫자 저장
            combi(depth + 1, i + 1); // 다음 자리로 이동, 중복 방지를 위해 i+1부터 시작
        }
    }
}&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;combi(0, 0)으로 조합 생성을 시작한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;depth = 0: 현재까지 고른 숫자 수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;start = 0: 시작 인덱스&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개가 안 골라졌다면 start부터 k까지 반복하며 숫자를 선택하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6개를 고르면 numbers[] 배열을 출력한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;i+1부터 시작하므로 중복 없이 오름차순 조합이 만들어진다.&lt;/p&gt;</description>
      <category>Languages/Java</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/246</guid>
      <comments>https://gusdkstudyhard.tistory.com/246#entry246comment</comments>
      <pubDate>Sat, 29 Mar 2025 14:02:54 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스 고득점 Kit/Java] 전화번호 목록</title>
      <link>https://gusdkstudyhard.tistory.com/245</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1422&quot; data-origin-height=&quot;1410&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bn73EO/btsM2Lm11cN/7rDzUvQzjVWZLHQqOg5Mtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bn73EO/btsM2Lm11cN/7rDzUvQzjVWZLHQqOg5Mtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bn73EO/btsM2Lm11cN/7rDzUvQzjVWZLHQqOg5Mtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbn73EO%2FbtsM2Lm11cN%2F7rDzUvQzjVWZLHQqOg5Mtk%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;1422&quot; height=&quot;1410&quot; data-origin-width=&quot;1422&quot; data-origin-height=&quot;1410&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;1440&quot; data-origin-height=&quot;788&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HSDsD/btsM0c70ykj/uTLDEj8C2qaKfI8KAlvXIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HSDsD/btsM0c70ykj/uTLDEj8C2qaKfI8KAlvXIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HSDsD/btsM0c70ykj/uTLDEj8C2qaKfI8KAlvXIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHSDsD%2FbtsM0c70ykj%2FuTLDEj8C2qaKfI8KAlvXIK%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;1440&quot; height=&quot;788&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;788&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;다음과 같이 풀었다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;성공 코드&lt;/h3&gt;
&lt;pre id=&quot;code_1743212989727&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;
class Solution {
    public boolean solution(String[] phone_book) {
        Arrays.sort(phone_book);
        for (int i = 0; i &amp;lt; phone_book.length - 1; i++) {
            String phone = phone_book[i];
            if (phone_book[i + 1].startsWith(phone)) {
                return false;
            }
        }
        return true;
    }
}&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;처음에는 아래와 같이 j의 범위를 i + 1부터 phone_book.length까지로 설정했다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실패 코드&lt;/h3&gt;
&lt;pre id=&quot;code_1743213071975&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;
class Solution {
    public boolean solution(String[] phone_book) {
        Arrays.sort(phone_book);
        for (int i = 0; i &amp;lt; phone_book.length - 1; i++) {
            String phone = phone_book[i];
            for (int j = i + 1; j &amp;lt; phone_book.length; j++) {
                if (phone_book[j].startsWith(phone)) {
                    return false;
                }
            }
        }
        return true;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그랬더니 정확성은 테스트는 모두 통과했는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;효율성 테스트의 테스트3, 4를 시간 초과로 통과하지 못했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도저히 모르겠어서 힌트를 구한 결과&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Arrays.sort로 사전순 정렬을 했으니,&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;내 바로 뒤에 있는 문자열과만 비교해도&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;접두어인지 아닌지를 판별할 수 있다는 것을 알게 됐다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 j의 범위를 따로 설정하지 않고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;i번째 문자열과 i+1번째 문자열을 비교해서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;i번째 문자열이 i+1번째 문자열의 접두어인지 확인했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 정확성 테스트와 효율성 테스트를 통과했다!&lt;/p&gt;</description>
      <category>Languages/Java</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/245</guid>
      <comments>https://gusdkstudyhard.tistory.com/245#entry245comment</comments>
      <pubDate>Sat, 29 Mar 2025 10:57:36 +0900</pubDate>
    </item>
    <item>
      <title>2025 아시아태평양 금융포럼 (APFF) 참석 후기</title>
      <link>https://gusdkstudyhard.tistory.com/244</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 좋은 기회로 아주경제 주최 '2025 아시아태평양 금융포럼'에 참석했다.&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;금융 IT에 관심이 있고 입사를 꿈꾸는 취준생 입장에서&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;세계 경제의 불확실성과 양극화 문제&lt;/b&gt;를 알아보고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;해당 상황에서 &lt;b&gt;당국은 어떻게 대응해야 할 지&lt;/b&gt; 전문가들의 견해를 들어보고 싶어서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서포터즈를 신청했다. &lt;s&gt;(10만원 상당의 호텔 중식에도 끌린 건 안 비밀)&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://linkareer.com/activity/230410&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://linkareer.com/activity/230410&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742999056702&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;2025 아시아태평양금융포럼(Asia-Pacific Financial Forum) 서포터즈 모집 | 공모전 대외활동-링커리어&quot; data-og-description=&quot;대외활동인 2025 아시아태평양금융포럼(Asia-Pacific Financial Forum) 서포터즈 모집입니다. 혜택으로는 사은품 지급, 수료증 및 인증서 등이 있습니다.&quot; data-og-host=&quot;linkareer.com&quot; data-og-source-url=&quot;https://linkareer.com/activity/230410&quot; data-og-url=&quot;https://linkareer.com/activity/230410&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/4rjPF/hyYxLClmBb/8DM7e0fKb13wPfKrZDKr9k/img.png?width=180&amp;amp;height=300&amp;amp;face=102_139_126_165,https://scrap.kakaocdn.net/dn/cN1xRf/hyYue7hCsc/leNHKRzGjk2xWa0gobXqH1/img.png?width=2056&amp;amp;height=3426&amp;amp;face=0_0_2056_3426&quot;&gt;&lt;a href=&quot;https://linkareer.com/activity/230410&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://linkareer.com/activity/230410&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/4rjPF/hyYxLClmBb/8DM7e0fKb13wPfKrZDKr9k/img.png?width=180&amp;amp;height=300&amp;amp;face=102_139_126_165,https://scrap.kakaocdn.net/dn/cN1xRf/hyYue7hCsc/leNHKRzGjk2xWa0gobXqH1/img.png?width=2056&amp;amp;height=3426&amp;amp;face=0_0_2056_3426');&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;2025 아시아태평양금융포럼(Asia-Pacific Financial Forum) 서포터즈 모집 | 공모전 대외활동-링커리어&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;대외활동인 2025 아시아태평양금융포럼(Asia-Pacific Financial Forum) 서포터즈 모집입니다. 혜택으로는 사은품 지급, 수료증 및 인증서 등이 있습니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;linkareer.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9시 시작이라 8시반까지 가서 안내를 받고 들어갔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 행사는 &lt;b&gt;웨스틴 조선 서울 1층 그랜드불룸&lt;/b&gt;에서 진행 되었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUPABT/btsMX4uJL8t/VqvqZUokI5Dd4BRlhkmrK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUPABT/btsMX4uJL8t/VqvqZUokI5Dd4BRlhkmrK1/img.png&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot; id=&quot;kEditorPhotosEditingImage-0&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUPABT/btsMX4uJL8t/VqvqZUokI5Dd4BRlhkmrK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUPABT%2FbtsMX4uJL8t%2FVqvqZUokI5Dd4BRlhkmrK1%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;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AL14R/btsMYvL4UkN/0B98hJcj0XNHhECrlRnpKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AL14R/btsMYvL4UkN/0B98hJcj0XNHhECrlRnpKK/img.png&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot; id=&quot;kEditorPhotosEditingImage-1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AL14R/btsMYvL4UkN/0B98hJcj0XNHhECrlRnpKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAL14R%2FbtsMYvL4UkN%2F0B98hJcj0XNHhECrlRnpKK%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;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;너무 멋져..&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;253&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byL9Po/btsMX8J9SXa/DUjof6tCaUs0HkaFjdBgd1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byL9Po/btsMX8J9SXa/DUjof6tCaUs0HkaFjdBgd1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byL9Po/btsMX8J9SXa/DUjof6tCaUs0HkaFjdBgd1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyL9Po%2FbtsMX8J9SXa%2FDUjof6tCaUs0HkaFjdBgd1%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;480&quot; height=&quot;253&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;253&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전날 담당자님으로부터 받은 진행순서를 확인했을 때도 크고 공식적인 행사임은 직감했지만,&lt;/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;p&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/dsSO9C/btsMYvk0kNm/3NDnKwLh4HqesPpwOuCoz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dsSO9C/btsMYvk0kNm/3NDnKwLh4HqesPpwOuCoz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dsSO9C/btsMYvk0kNm/3NDnKwLh4HqesPpwOuCoz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdsSO9C%2FbtsMYvk0kNm%2F3NDnKwLh4HqesPpwOuCoz0%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;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&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 이번 포럼의 주제가&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;트럼프 2기(Second Presidency of Trump)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;글로벌 분극화 시대, 금융의 위기와 기회&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인 만큼, 대부분의 이야기가 트럼프의 관세 정책 및 금융 불확실성과 연관 됐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 모든 이야기가 관련이 있었다 해도 과언이 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4월 2일에 있을 트럼프의 상호관세부과,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;딥시크 쇼크와 함께 급부상한 중국 시장,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비정상적으로 높아진 원화 환율,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작년 하반기부터 격화된 우리나라 정치 갈등과 탄핵 이슈,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;치솟은 집값,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출산율 감소 및 고령화, 그리고 인구 감소까지&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;그야말로 우리나라는 현재 &quot;&lt;b&gt;혼돈의 시기&lt;/b&gt;&quot;다.&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;모리스 옵스펠드 UC 버클리 교수님께서는 (무려 IMF 수석 이코노미스트..)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; 앞서 언급한 문제들 외에도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리나라 산업의 불균형, 칩 과다 공급, 국방비 문제 등&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;당국이 직면한 경제 상황&lt;/b&gt;들을 언급하시고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WTO rules에 따른(rule-based) 무역 유지와 협력을 포함하여&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;한국이 어떻게 이 문제들을 해결해나갈 수 있을지&lt;/b&gt; 조언해주셨다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교수님의 발표와 1:1 좌담회 후에는&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;글로벌 패권 경쟁과 한국의 선택&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이라는 주제로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 강연을 들었다.&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;1) 최근 중국이 급부상 하면서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미국 중심의 공급망이 재편되고 있고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 트럼프 정부가 들어선 2개월 간&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상호관세, 친가상자산 등의 정책들로 큰 변동성이 있었으며,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) 곧 있을 트럼프 정부의 상호관세부과로 인해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경제 불확실성이 상당히 크다는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 앞으로 당분간은 이런 기조가 유지될듯 싶다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세계는 탈세계화의 흐름을 타고 있고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자국우선주의 및 보호 정책이 지속될 가능성이 높다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 상황에서 한국 경제는 근본적인 변화를 직시하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관세 정책에 대응하기 위해 대응책을 찾아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;강연 중 말씀해주신 바에 의하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SMR, 조선업 등 협력 유망분야 제시,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;적극적이고 유연한 협상을 위한 대응 논리 마련&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;등의 방법들이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;+) 트럼프의 친가상자산 정책과 관련해서는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리나라 역시 가상자산을 무조건 규제하기 보다는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;블록체인 인프라와 거래소의 글로벌 경쟁력 지원 등이 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 오전 강연이 끝나고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아기다리고기다리던 코 스 요 리 등장이시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OXZr3/btsMY6EC5QU/srRrUcWk8vrEFM7bekumk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OXZr3/btsMY6EC5QU/srRrUcWk8vrEFM7bekumk0/img.png&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-origin-width=&quot;300&quot; data-origin-height=&quot;400&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;50&quot; id=&quot;kEditorPhotosEditingImage-4&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OXZr3/btsMY6EC5QU/srRrUcWk8vrEFM7bekumk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOXZr3%2FbtsMY6EC5QU%2FsrRrUcWk8vrEFM7bekumk0%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;300&quot; height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmJUih/btsMXQwhMdK/wHF3hxqVX5xBl4s0XfiJ2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmJUih/btsMXQwhMdK/wHF3hxqVX5xBl4s0XfiJ2K/img.png&quot; style=&quot;width: 49.4186%;&quot; data-origin-width=&quot;300&quot; data-origin-height=&quot;400&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;50&quot; id=&quot;kEditorPhotosEditingImage-5&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmJUih/btsMXQwhMdK/wHF3hxqVX5xBl4s0XfiJ2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmJUih%2FbtsMXQwhMdK%2FwHF3hxqVX5xBl4s0XfiJ2K%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;300&quot; height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Nlo41/btsMXaWfYaZ/7VkGOaRNZ7BWQxzu4DtybK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Nlo41/btsMXaWfYaZ/7VkGOaRNZ7BWQxzu4DtybK/img.png&quot; style=&quot;width: 32.5581%; margin-right: 10px; margin-top: 10px;&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;33.33&quot; id=&quot;kEditorPhotosEditingImage-6&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Nlo41/btsMXaWfYaZ/7VkGOaRNZ7BWQxzu4DtybK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNlo41%2FbtsMXaWfYaZ%2F7VkGOaRNZ7BWQxzu4DtybK%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;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/94kHD/btsMWIFSG74/JL8T5EVsW3luKf9I8wvkck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/94kHD/btsMWIFSG74/JL8T5EVsW3luKf9I8wvkck/img.png&quot; style=&quot;width: 32.5581%; margin-right: 10px; margin-top: 10px;&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;33.33&quot; id=&quot;kEditorPhotosEditingImage-7&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/94kHD/btsMWIFSG74/JL8T5EVsW3luKf9I8wvkck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F94kHD%2FbtsMWIFSG74%2FJL8T5EVsW3luKf9I8wvkck%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;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4rOG2/btsMXVjZseo/ZyBYLaNpKKQnk2pzOKlmE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4rOG2/btsMXVjZseo/ZyBYLaNpKKQnk2pzOKlmE0/img.png&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-is-animation=&quot;false&quot; style=&quot;width: 32.5581%; margin-top: 10px;&quot; data-widthpercent=&quot;33.34&quot; id=&quot;kEditorPhotosEditingImage-8&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4rOG2/btsMXVjZseo/ZyBYLaNpKKQnk2pzOKlmE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4rOG2%2FbtsMXVjZseo%2FZyBYLaNpKKQnk2pzOKlmE0%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;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dfHOwZ/btsMXyP3j8p/9kyF4dk4AkeEYyQmlkYlIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dfHOwZ/btsMXyP3j8p/9kyF4dk4AkeEYyQmlkYlIK/img.png&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;50&quot; id=&quot;kEditorPhotosEditingImage-9&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dfHOwZ/btsMXyP3j8p/9kyF4dk4AkeEYyQmlkYlIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdfHOwZ%2FbtsMXyP3j8p%2F9kyF4dk4AkeEYyQmlkYlIK%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;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VX6v8/btsMYJpnPjW/8TrWPnZXqq2S68M4Fmr3O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VX6v8/btsMYJpnPjW/8TrWPnZXqq2S68M4Fmr3O1/img.png&quot; data-origin-width=&quot;3024&quot; data-origin-height=&quot;4032&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4186%; margin-top: 10px;&quot; data-widthpercent=&quot;50&quot; id=&quot;kEditorPhotosEditingImage-10&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VX6v8/btsMYJpnPjW/8TrWPnZXqq2S68M4Fmr3O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVX6v8%2FbtsMYJpnPjW%2F8TrWPnZXqq2S68M4Fmr3O1%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;3024&quot; height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진심으로 감동적인 맛이었읍니다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;멋진 강연과 함께 맛있는 음식까지..&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;299&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btlkzH/btsMX3vk4ah/voJuN0p0CvxuQoKKOeLgbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btlkzH/btsMX3vk4ah/voJuN0p0CvxuQoKKOeLgbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btlkzH/btsMX3vk4ah/voJuN0p0CvxuQoKKOeLgbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtlkzH%2FbtsMX3vk4ah%2FvoJuN0p0CvxuQoKKOeLgbk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;299&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;299&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거지 바보 아기 취준생이 마다할 이유가 없잖아 !!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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;p data-ke-size=&quot;size16&quot;&gt;난 이때 진행된 &quot;양극화 시대, 한국 금융의 방향&quot; 토론을&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진행된 행사 중 가장 재미있게 들었다.&lt;/p&gt;
&lt;p&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/msy8s/btsMW8SbZQW/v7yI8leETEpAqkZTnQbspk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/msy8s/btsMW8SbZQW/v7yI8leETEpAqkZTnQbspk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/msy8s/btsMW8SbZQW/v7yI8leETEpAqkZTnQbspk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmsy8s%2FbtsMW8SbZQW%2Fv7yI8leETEpAqkZTnQbspk%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;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&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;금융감독원 국장님, 우리은행 선임연구원님, 하나금융연구소 연구위원님, KDI 팀장님&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 어마어마하신 분들이.. 토론을 이어가셨다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 인상깊었던 건&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리나라 원화 약세는 금융 위기로는 이어지지 않을 것이며,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 실물경기자본 양극화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 금융자본 양극화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로 수급이 꼬여서 나타나는 문제라고 말씀하신 부분이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리나라 정치적 이슈가 해결되면 원화 환율은 안정화를 찾아갈 것이라고도 첨언해주셨다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 이렇게 미국이 빨아들이는 힘이 커지는 상황에서 우리나라는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 선배 세대에서 후배 세대로의 자본 조달&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 정책 및 관습 개선&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) 가상자산의 적극적 활용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;등이 필요할 것으로 보인다.&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;이후 &quot;분극화 시대&quot;의 투자 해법과 관련하여&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대체거래소(ATS) 출범과&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역발상 투자 전략, ETF 연금투자 전략에 대해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;심도 있는 강연을 들을 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 과연 경제 이야기를 집중해서 잘 들을 수 있을까,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이해는 할 수 있을까 걱정했는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;평소 구독형 뉴스를 챙겨보던 게 도움이 좀 됐던 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 오늘 정말 통감했던 바는&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;금융과 정치는 뗄레야 뗄 수 없는 관계&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;금융포럼이지만 모든 이야기의 기저에는 &quot;정치&quot;가 있었다.&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;</description>
      <category>Finance</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/244</guid>
      <comments>https://gusdkstudyhard.tistory.com/244#entry244comment</comments>
      <pubDate>Thu, 27 Mar 2025 00:29:49 +0900</pubDate>
    </item>
    <item>
      <title>[BOJ/Java] #11279 최대 힙 - PriorityQueue</title>
      <link>https://gusdkstudyhard.tistory.com/243</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;1434&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vDfh3/btsMVb71Hbv/gFSlaYel8KSUodZgBsKk10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vDfh3/btsMVb71Hbv/gFSlaYel8KSUodZgBsKk10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vDfh3/btsMVb71Hbv/gFSlaYel8KSUodZgBsKk10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvDfh3%2FbtsMVb71Hbv%2FgFSlaYel8KSUodZgBsKk10%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;1372&quot; height=&quot;1434&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;1434&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;1372&quot; data-origin-height=&quot;1388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ceikBz/btsMVAzo9Q1/ySvBFlqFS2etUzgLegQ7V1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ceikBz/btsMVAzo9Q1/ySvBFlqFS2etUzgLegQ7V1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ceikBz/btsMVAzo9Q1/ySvBFlqFS2etUzgLegQ7V1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceikBz%2FbtsMVAzo9Q1%2FySvBFlqFS2etUzgLegQ7V1%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;1372&quot; height=&quot;1388&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;1388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;알고리즘 분류&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 자료 구조&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 우선순위 큐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/11279&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.acmicpc.net/problem/11279&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;N개의 줄에 정수 x가 주어진다. (1&amp;lt;=N&amp;lt;=100,000)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;x가 자연수라면 배열에 x라는 값을 넣고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;x가 0이라면 배열에서 가장 큰 값을 출력, 그 값을 배열에서 제거한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열이 비어있는 경우 가장 큰 값을 출력하라고 하면 0을 출력한다.&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;ArrayList를 선언하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;x가 자연수라면 add,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;x가 0이라면 Collections.max()로 max 값을 찾아 출력 및 제거하는 거였다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;ArrayList 사용 (실패 코드)&lt;/h3&gt;
&lt;pre id=&quot;code_1742811989234&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        ArrayList&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;&amp;gt;();

        for (int i = 0; i &amp;lt; N; i++) {
            int cal = Integer.parseInt(br.readLine());
            if (cal == 0) {
                if (list.size() == 0) {
                    sb.append(&quot;0\n&quot;);
                } else {
                    int max = Collections.max(list);
                    sb.append(max).append(&quot;\n&quot;);
                    list.remove(list.indexOf(max));
                }
            } else {
                list.add(cal);
            }
        }

        System.out.println(sb);
    }
}&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;그러나 이 방법은 Collections.max()와 list.remove()가 각각&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;O(N)의 시간 복잡도를 가지기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체적으로 O(N^2)가 되어 10^10 즉 1초를 넘게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방법을 알아보니&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PriorityQueue를 사용하는 문제였고, 이를 사용하니 아주 쉽게 풀었다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;PriorityQueue 사용 (성공 코드)&lt;/h3&gt;
&lt;pre id=&quot;code_1742812195752&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        PriorityQueue&amp;lt;Integer&amp;gt; pq = new PriorityQueue&amp;lt;&amp;gt;(Collections.reverseOrder());

        for (int i = 0; i &amp;lt; N; i++) {
            int cal = Integer.parseInt(br.readLine());
            if (cal == 0) {
                if (pq.isEmpty()) {
                    sb.append(&quot;0\n&quot;);
                } else {
                    sb.append(pq.poll()).append(&quot;\n&quot;);
                }
            } else {
                pq.offer(cal);
            }
        }

        System.out.println(sb);
    }
}&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;이 기회에 PriorityQueue에 대해 정리하고자 한다.&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;PriorityQueue&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선순위 큐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적인 큐의 구조 FIFO(First In First Out)를 가지면서,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터가 들어온 순서대로 데이터가 나가는 것이 아닌,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선순위를 먼저 결정하고 그 우선순위가 높은 데이터가 먼저 나가는 자료구조이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;int, String, Double과 같은 기본 타입은 Comparable을 이미 구현하고 있어서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그냥 PriorityQueue에 넣어도 우선순위가 자동으로 정해진다.&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;그러나 직접 만든 클래스에서 PriorityQueue를 사용하기 위해서는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선순위 큐에 저장할 객체는 필수적으로 Comparable Interface를 구현해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Comparable Interface를 구현하면 compareTo method를 override 하게 되고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 객체에서 처리할 우선순위 조건을 리턴해주면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PriorityQueue가 알아서 우선순위가 높은 객체를 추출해준다.&lt;/p&gt;
&lt;pre id=&quot;code_1742812700121&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Task implements Comparable&amp;lt;Task&amp;gt; {
    int priority;
    String name;

    public Task(int priority, String name) {
        this.priority = priority;
        this.name = name;
    }

    // compareTo를 override해서 우선순위 기준을 정의
    @Override
    public int compareTo(Task other) {
        // priority가 클수록 우선순위 높게 하고 싶다면 (MaxHeap처럼)
        return other.priority - this.priority;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1742812834806&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;PriorityQueue&amp;lt;Task&amp;gt; pq = new PriorityQueue&amp;lt;&amp;gt;();
pq.add(new Task(3, &quot;A&quot;));
pq.add(new Task(5, &quot;B&quot;));
pq.add(new Task(1, &quot;C&quot;));

System.out.println(pq.poll().name); // &quot;B&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내부 요소는 힙으로 구성되어 이진트리 구조로 이루어져 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내부구조가 힙으로 구성되어 있기에 시간 복잡도는 O(logN)이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1742812490575&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

// 낮은 숫자가 우선 순위인 int형 우선순위 큐
// 최소힙(Min Heap)
PriorityQueue&amp;lt;Integer&amp;gt; pqLowest = new PriorityQueue&amp;lt;&amp;gt;();

// 높은 숫자가 우선 순위인 int형 우선순위 큐
// 최대힙(Max Heap)
PriorityQueue&amp;lt;Integer&amp;gt; pqHighest = new PriorityQueue&amp;lt;&amp;gt;(Collections.reverseOrder());&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Languages/Java</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/243</guid>
      <comments>https://gusdkstudyhard.tistory.com/243#entry243comment</comments>
      <pubDate>Mon, 24 Mar 2025 19:41:55 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스 고득점 Kit/Java] 폰켓몬</title>
      <link>https://gusdkstudyhard.tistory.com/242</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1790&quot; data-origin-height=&quot;1130&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vmgUy/btsMT3ooBWm/EmekkT9v6i6NHK4UwtCxZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vmgUy/btsMT3ooBWm/EmekkT9v6i6NHK4UwtCxZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vmgUy/btsMT3ooBWm/EmekkT9v6i6NHK4UwtCxZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvmgUy%2FbtsMT3ooBWm%2FEmekkT9v6i6NHK4UwtCxZ1%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;1790&quot; height=&quot;1130&quot; data-origin-width=&quot;1790&quot; data-origin-height=&quot;1130&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;1804&quot; data-origin-height=&quot;1188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8Gdnb/btsMUOEi88O/iKaBSbyZgn0lAngdrGhX61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8Gdnb/btsMUOEi88O/iKaBSbyZgn0lAngdrGhX61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8Gdnb/btsMUOEi88O/iKaBSbyZgn0lAngdrGhX61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8Gdnb%2FbtsMUOEi88O%2FiKaBSbyZgn0lAngdrGhX61%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;1804&quot; height=&quot;1188&quot; data-origin-width=&quot;1804&quot; data-origin-height=&quot;1188&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;다음과 같이 풀었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;nums를 돌며 map에 종류 번호와 해당 번호가 나온 횟수를 저장한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 종류 번호가 nums 배열 크기 / 2 보다 크다면 -&amp;gt; nums 배열 크기 / 2만큼만 선택할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 작거나 같다면 -&amp;gt; 종류 번호 만큼 선택한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1742730802819&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;
import java.io.*;
class Solution {
    public int solution(int[] nums) {
        int answer = 0;
        HashMap&amp;lt;Integer, Integer&amp;gt; pokemon = new HashMap&amp;lt;&amp;gt;();
        for (int num : nums) {
            pokemon.put(num, pokemon.getOrDefault(num, 0) + 1);
        }
        if (pokemon.size() &amp;gt; nums.length / 2) {
            answer = nums.length / 2;
        } else {
            answer = pokemon.size();
        }
        return answer;
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Languages/Java</category>
      <author>효딩</author>
      <guid isPermaLink="true">https://gusdkstudyhard.tistory.com/242</guid>
      <comments>https://gusdkstudyhard.tistory.com/242#entry242comment</comments>
      <pubDate>Sun, 23 Mar 2025 20:56:50 +0900</pubDate>
    </item>
  </channel>
</rss>