From 2dae24e463e0502fc4695538aa04fb2a388f8180 Mon Sep 17 00:00:00 2001 From: KangJiSseok Date: Sat, 29 Nov 2025 23:33:06 +0900 Subject: [PATCH 1/3] 251129 --- .DS_Store | Bin 0 -> 8196 bytes ...\353\254\270\354\236\220\354\227\264.java" | 73 ++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 .DS_Store create mode 100644 "Stack/BOJ4889_\354\225\210\354\240\225\354\240\201\354\235\270_\353\254\270\354\236\220\354\227\264.java" diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ad0810e3ea93858e51960d0a97451cd9c36fcee2 GIT binary patch literal 8196 zcmeHM&ubGw6n>Me>Bh8@1q($G7W5cuW3?h)(lk|y3bkAGpwcGYHC?;e3CYG#N+D;( zKS7V)q}LwnsUAJ`Kk*<4`rgd6-OUfB7g3xkGvDsa_s#5ldD+d|0st#_+#GP*SSr5+XxAECqa{7VsLL=LgujLpz`y&<YaoJon|O zZnXp2f&bD0xREoh= z=D?&J$4iRelPKlD#L762TA8T~g{j1Y*@6zNBvH580qww`1C+ZPFb#F^A?nND=W%TM zhbTgrhBDj*C&^-OhO=tjc2m6z*snDMza7oY9I;f|IF}hS$IP7h+}Y$^C#puBcDdSm zN@uH_2esqlYVEP_b=UG27kC&|{m^R(f$w@qdG^E)UEVG8PUyCU){z5d*37Qur*?K` zi#H2)@z&gK!QQ!jeWqaFn4R0*&6<-}uH9K#+X@;Xe=T+eOx;poLY|+rv@^Bmpk8z~ zc%v!Du6{WkY4A!#?bB?VUk|>oAChlM*Wm6iMw^@QSxYpz(!Fw8VZg&W_R!Uhqw_w5 zP=yw3g9Dy8+JMcz&*B?$)YqWR-xY&8=()6po3R|wQqiMA+F5A3M}G2 zD)10-8XDjx6~c$OA}2hqBhy3IBUqI?PO8Wmb|L1BF@lG#BzT!)-k{s$O@eD8w~KpT z#!3;;_Z_8gUxI($%2=T_ZoL58vMk@)v(lEAj9zpHU??vh%elArKfG&*SRTPWjqKlX zlW{KAPkjuIj6Odpdg9S&92y6oK2Po!k~|SVCp`W97k=tSJ8)J9(o!%*`TyeR_y1>| zR`az3+JS$_0cKR3N*OPhergUYlxy2q*RfI|UQeQsU?b9TMDaLAJo$$q9@|JIO-W%- TBKBa>F9L)Oy3r2&Q3rkkBM3{8 literal 0 HcmV?d00001 diff --git "a/Stack/BOJ4889_\354\225\210\354\240\225\354\240\201\354\235\270_\353\254\270\354\236\220\354\227\264.java" "b/Stack/BOJ4889_\354\225\210\354\240\225\354\240\201\354\235\270_\353\254\270\354\236\220\354\227\264.java" new file mode 100644 index 0000000..3cd4282 --- /dev/null +++ "b/Stack/BOJ4889_\354\225\210\354\240\225\354\240\201\354\235\270_\353\254\270\354\236\220\354\227\264.java" @@ -0,0 +1,73 @@ +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.Stack; +import java.util.StringTokenizer; + +public class Main { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + static StringTokenizer st; + static StringBuilder sb = new StringBuilder(); + + + public static void main(String[] args) throws Exception { + + int i = 1; + while(true){ + String str = br.readLine(); + if(str.charAt(0) == '-') break; + sb.append(i++).append(". ").append(stack(str)).append("\n"); + } + + System.out.println(sb.toString()); + } + + + private static int stack(String str) { + int cnt = 0; + Stack stack1 = new Stack<>(); + + for (int i = 0; i < str.length(); i++) { + if(stack1.isEmpty()) { + stack1.push(str.charAt(i)); + continue; + } + + if (str.charAt(i) == '{') { + stack1.push(str.charAt(i)); + } else { + if (stack1.peek() == '}') { + stack1.push(str.charAt(i)); + } else { + stack1.pop(); + } + } + } + + while (!stack1.isEmpty()) { + char c1 = stack1.pop(); + char c2 = stack1.pop(); + + cnt += isCnt(c1, c2); + } + + return cnt; + } + + + private static int isCnt(char c1, char c2) { + if(c1 == '{' && c2 == '{') return 1; + if(c1 == '}' && c2 == '}') return 1; + if(c1 == '{' && c2 == '}') return 2; + + return 0; + } + +} +/** + * }{{{ + * (((( + * )))) + * )( + * + */ From 7b4a52ffa1bec07f8f01866f6bf31463fc65bff5 Mon Sep 17 00:00:00 2001 From: KangJiSseok Date: Sat, 4 Apr 2026 16:19:49 +0900 Subject: [PATCH 2/3] 260404 --- ...\354\240\204\354\213\234\352\264\200.java" | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 "DP/BOJ10476_\354\242\201\354\235\200_\353\257\270\354\210\240\354\240\204\354\213\234\352\264\200.java" diff --git "a/DP/BOJ10476_\354\242\201\354\235\200_\353\257\270\354\210\240\354\240\204\354\213\234\352\264\200.java" "b/DP/BOJ10476_\354\242\201\354\235\200_\353\257\270\354\210\240\354\240\204\354\213\234\352\264\200.java" new file mode 100644 index 0000000..2c9b818 --- /dev/null +++ "b/DP/BOJ10476_\354\242\201\354\235\200_\353\257\270\354\210\240\354\240\204\354\213\234\352\264\200.java" @@ -0,0 +1,60 @@ +import java.io.*; +import java.util.*; + +public class Main { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + static StringTokenizer st; + static final int INF = 1_000_000_000; + + public static void main(String[] args) throws Exception { + StringBuilder sb = new StringBuilder(); + + while (true) { + st = new StringTokenizer(br.readLine()); + int N = Integer.parseInt(st.nextToken()); + int K = Integer.parseInt(st.nextToken()); + + if (N == 0 && K == 0) break; + + int[][] arr = new int[N + 1][2]; + int sum = 0; + + for (int i = 1; i <= N; i++) { + st = new StringTokenizer(br.readLine()); + arr[i][0] = Integer.parseInt(st.nextToken()); + arr[i][1] = Integer.parseInt(st.nextToken()); + sum += arr[i][0] + arr[i][1]; + } + + int[][][] dp = new int[N + 1][K + 1][3]; + + for (int i = 0; i <= N; i++) { + for (int j = 0; j <= K; j++) { + for (int k = 0; k < 3; k++) { + dp[i][j][k] = INF; + } + } + } + + dp[0][0][0] = dp[0][0][1] = dp[0][0][2] = 0; + + for (int i = 1; i <= N; i++) { + dp[i][0][2] = 0; + } + + for (int j = 1; j <= N; j++) { + for (int i = 0; i <= K; i++) { + dp[j][i][2] = Math.min(dp[j - 1][i][0], Math.min(dp[j - 1][i][1], dp[j - 1][i][2])); + if (i > 0) { + dp[j][i][0] = Math.min(dp[j - 1][i - 1][0], dp[j - 1][i - 1][2]) + arr[j][0]; + dp[j][i][1] = Math.min(dp[j - 1][i - 1][1], dp[j - 1][i - 1][2]) + arr[j][1]; + } + } + } + + int min = Math.min(dp[N][K][0], Math.min(dp[N][K][1], dp[N][K][2])); + System.out.print(sum - min); + } + + } +} From fcd2020b3d6b2a7778c7efd75eebf4338a79b846 Mon Sep 17 00:00:00 2001 From: KangJiSseok Date: Sun, 5 Apr 2026 14:20:46 +0900 Subject: [PATCH 3/3] 260405 --- ...353\260\200_\353\252\250\354\236\204.java" | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 "FloydWarshall/BOJ13424_\353\271\204\353\260\200_\353\252\250\354\236\204.java" diff --git "a/FloydWarshall/BOJ13424_\353\271\204\353\260\200_\353\252\250\354\236\204.java" "b/FloydWarshall/BOJ13424_\353\271\204\353\260\200_\353\252\250\354\236\204.java" new file mode 100644 index 0000000..c63712a --- /dev/null +++ "b/FloydWarshall/BOJ13424_\353\271\204\353\260\200_\353\252\250\354\236\204.java" @@ -0,0 +1,87 @@ +import java.io.*; +import java.util.*; + +public class Main { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + static StringTokenizer st; + static StringBuilder sb = new StringBuilder(); + + static int T; + static int N, M, K; + static int[][] map; + static final int INF = 1_000_000_000; + static int[] pos; + + public static void main(String[] args) throws Exception { + + T = Integer.parseInt(br.readLine()); + for (int t = 0; t < T; t++) { + st = new StringTokenizer(br.readLine()); + N = Integer.parseInt(st.nextToken()); + M = Integer.parseInt(st.nextToken()); + + map = new int[N + 1][N + 1]; + + for (int i = 1; i <= N; i++) { + Arrays.fill(map[i], INF); + } + + for (int i = 0; i < M; i++) { + st = new StringTokenizer(br.readLine()); + int a = Integer.parseInt(st.nextToken()); + int b = Integer.parseInt(st.nextToken()); + int c = Integer.parseInt(st.nextToken()); + map[a][b] = c; + map[b][a] = c; + } + for (int i = 1; i <= N; i++) { + map[i][i] = 0; + } + + K = Integer.parseInt(br.readLine()); + pos = new int[K]; + st = new StringTokenizer(br.readLine()); + for (int i = 0; i < K; i++) { + pos[i] = Integer.parseInt(st.nextToken()); + } + + for (int i = 1; i <= N; i++) { + for (int j = 1; j <= N; j++) { + for (int k = 1; k <= N; k++) { + map[j][k] = Math.min(map[j][k], map[j][i] + map[i][k]); + } + } + } + + List list = new ArrayList<>(); + for (int i = 1; i <= N; i++) { + int sum = 0; + for (int k = 0; k < K; k++) { + sum += map[pos[k]][i]; + } + list.add(new Node(i, sum)); + } + + list.sort((o1, o2) -> { + if (o1.sum == o2.sum) { + return Integer.compare(o1.idx, o2.idx); + } + return Integer.compare(o1.sum, o2.sum); + }); + + + sb.append(list.get(0).idx).append("\n"); + } + + System.out.println(sb); + + } + + static class Node{ + int idx, sum; + public Node(int idx, int sum){ + this.idx = idx; + this.sum = sum; + } + } +}