From d3062685ae4ba3cdbcfafa694b89349e896e3dc1 Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 5 Aug 2025 12:56:01 +0900 Subject: [PATCH 001/115] =?UTF-8?q?[1865]=20:=20=EC=9B=9C=ED=99=80=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/baekjoon/class4/BaekJoon1865.java | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 src/main/java/baekjoon/class4/BaekJoon1865.java diff --git a/src/main/java/baekjoon/class4/BaekJoon1865.java b/src/main/java/baekjoon/class4/BaekJoon1865.java new file mode 100644 index 0000000..2992cc5 --- /dev/null +++ b/src/main/java/baekjoon/class4/BaekJoon1865.java @@ -0,0 +1,86 @@ +package baekjoon.class4; +import java.io.*; +import java.util.*; + +public class BaekJoon1865 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + static StringBuilder sb = new StringBuilder(); + + static class Edge { + int from, to, weight; + Edge(int from, int to, int weight) { + this.from = from; + this.to = to; + this.weight = weight; + } + } + + public static void main(String[] args) throws IOException { + int tc = Integer.parseInt(br.readLine()); + + while (tc-- > 0) { + StringTokenizer st = new StringTokenizer(br.readLine()); + int n = Integer.parseInt(st.nextToken()); // 지점 수 + int m = Integer.parseInt(st.nextToken()); // 도로 수 + int w = Integer.parseInt(st.nextToken()); // 웜홀 수 + + List edges = new ArrayList<>(); + + for (int i = 0; i < m; i++) { + st = new StringTokenizer(br.readLine()); + int s = Integer.parseInt(st.nextToken()); + int e = Integer.parseInt(st.nextToken()); + int t = Integer.parseInt(st.nextToken()); + + edges.add(new Edge(s, e, t)); + edges.add(new Edge(e, s, t)); + } + + for (int i = 0; i < w; i++) { + st = new StringTokenizer(br.readLine()); + int s = Integer.parseInt(st.nextToken()); + int e = Integer.parseInt(st.nextToken()); + int t = Integer.parseInt(st.nextToken()); + + edges.add(new Edge(s, e, -t)); + } + + for (int i = 1; i <= n; i++) { + edges.add(new Edge(0, i, 0)); + } + + if (hasNegativeCycle(n, edges)) { + sb.append("YES\n"); + } else { + sb.append("NO\n"); + } + } + + System.out.print(sb); + } + + static boolean hasNegativeCycle(int n, List edges) { + int[] dist = new int[n + 1]; // 0번 노드 포함 + Arrays.fill(dist, Integer.MAX_VALUE); + dist[0] = 0; // 시작은 가상의 0번 노드 + + for (int i = 0; i < n; i++) { + for (Edge edge : edges) { + if (dist[edge.from] != Integer.MAX_VALUE && + dist[edge.to] > dist[edge.from] + edge.weight) { + dist[edge.to] = dist[edge.from] + edge.weight; + } + } + } + + // n번째 루프에서 갱신되면 음수 사이클 존재 + for (Edge edge : edges) { + if (dist[edge.from] != Integer.MAX_VALUE && + dist[edge.to] > dist[edge.from] + edge.weight) { + return true; + } + } + + return false; + } +} From f8e576b6c99be387376f540141606a14b23805ce Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 14 Aug 2025 16:18:23 +0900 Subject: [PATCH 002/115] =?UTF-8?q?[FIX]=20Test=20Code=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1=EC=9D=84=20=EC=9C=84=ED=95=B4=20Gradle=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=ED=96=88=EB=8D=98=EA=B1=B0=20=EB=A1=A4?= =?UTF-8?q?=EB=B0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 18 -- gradle/wrapper/gradle-wrapper.jar | Bin 43583 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 7 - gradlew | 252 ------------------ gradlew.bat | 94 ------- src/.idea/.gitignore | 8 + src/.idea/misc.xml | 6 + src/.idea/modules.xml | 8 + src/.idea/vcs.xml | 6 + algorithmStudy.iml => src/algorithm.iml | 3 +- .../baekjoon/baekJoon/BaekJoon1002.java | 0 .../baekjoon/baekJoon/BaekJoon1003.java | 0 .../baekjoon/baekJoon/BaekJoon1152.java | 0 .../baekjoon/baekJoon/BaekJoon1237.java | 0 .../baekjoon/baekJoon/BaekJoon1308.java | 0 .../baekjoon/baekJoon/BaekJoon16719.java | 0 .../baekjoon/baekJoon/BaekJoon2508.java | 0 .../baekjoon/baekJoon/BaekJoon2668.java | 0 .../baekjoon/baekJoon/BaekJoon9494.java | 0 .../baekjoon/bronze/BackJoon15740.java | 0 .../baekjoon/bronze/BaekJoon1009.java | 0 .../baekjoon/bronze/BaekJoon10170.java | 0 .../baekjoon/bronze/BaekJoon1032.java | 0 .../baekjoon/bronze/BaekJoon10757.java | 0 .../baekjoon/bronze/BaekJoon10807.java | 0 .../baekjoon/bronze/BaekJoon10872.java | 0 .../baekjoon/bronze/BaekJoon10984.java | 0 .../baekjoon/bronze/BaekJoon11021.java | 0 .../baekjoon/bronze/BaekJoon11022.java | 0 .../baekjoon/bronze/BaekJoon11117.java | 0 .../baekjoon/bronze/BaekJoon11718.java | 0 .../baekjoon/bronze/BaekJoon11942.java | 0 .../baekjoon/bronze/BaekJoon1231231231.java | 0 .../baekjoon/bronze/BaekJoon1236.java | 0 .../baekjoon/bronze/BaekJoon12595.java | 0 .../baekjoon/bronze/BaekJoon13228.java | 0 .../baekjoon/bronze/BaekJoon14456.java | 0 .../baekjoon/bronze/BaekJoon14491.java | 0 .../baekjoon/bronze/BaekJoon14645.java | 0 .../baekjoon/bronze/BaekJoon14928.java | 0 .../baekjoon/bronze/BaekJoon15000.java | 0 .../baekjoon/bronze/BaekJoon15115.java | 0 .../baekjoon/bronze/BaekJoon15232.java | 0 .../baekjoon/bronze/BaekJoon1551.java | 0 .../baekjoon/bronze/BaekJoon15552.java | 0 .../baekjoon/bronze/BaekJoon15680.java | 0 .../baekjoon/bronze/BaekJoon15700.java | 0 .../baekjoon/bronze/BaekJoon15727.java | 0 .../baekjoon/bronze/BaekJoon15733.java | 0 .../baekjoon/bronze/BaekJoon15917.java | 0 .../baekjoon/bronze/BaekJoon15962.java | 0 .../baekjoon/bronze/BaekJoon15963.java | 0 .../baekjoon/bronze/BaekJoon15964.java | 0 .../baekjoon/bronze/BaekJoon16170.java | 0 .../baekjoon/bronze/BaekJoon16394.java | 0 .../baekjoon/bronze/BaekJoon20492.java | 0 .../baekjoon/bronze/BaekJoon2083.java | 0 .../baekjoon/bronze/BaekJoon21623.java | 0 .../baekjoon/bronze/BaekJoon2163.java | 0 .../baekjoon/bronze/BaekJoon23080.java | 0 .../baekjoon/bronze/BaekJoon2393.java | 0 .../baekjoon/bronze/BaekJoon2446.java | 0 .../baekjoon/bronze/BaekJoon24603.java | 0 .../baekjoon/bronze/BaekJoon24736.java | 0 .../baekjoon/bronze/BaekJoon24751.java | 0 .../baekjoon/bronze/BaekJoon2525.java | 0 .../baekjoon/bronze/BaekJoon25841.java | 0 .../baekjoon/bronze/BaekJoon26489.java | 0 .../baekjoon/bronze/BaekJoon2738.java | 0 .../baekjoon/bronze/BaekJoon2743.java | 0 .../baekjoon/bronze/BaekJoon2744.java | 0 .../baekjoon/bronze/BaekJoon2754.java | 0 .../baekjoon/bronze/BaekJoon28281.java | 0 .../baekjoon/bronze/BaekJoon2947.java | 0 .../baekjoon/bronze/BaekJoon29751.java | 0 .../baekjoon/bronze/BaekJoon3003.java | 0 .../baekjoon/bronze/BaekJoon31832.java | 0 .../baekjoon/bronze/BaekJoon3733.java | 0 .../baekjoon/bronze/BaekJoon4101.java | 0 .../baekjoon/bronze/BaekJoon4890.java | 0 .../baekjoon/bronze/BaekJoon5341.java | 0 .../baekjoon/bronze/BaekJoon5365.java | 0 .../baekjoon/bronze/BaekJoon5522.java | 0 .../baekjoon/bronze/BaekJoon5597.java | 0 .../baekjoon/bronze/BaekJoon6840.java | 0 .../baekjoon/bronze/BaekJoon7891.java | 0 .../baekjoon/bronze/BaekJoon8370.java | 0 .../baekjoon/bronze/BaekJoon8437.java | 0 .../baekjoon/bronze/BaekJoon8545.java | 0 .../baekjoon/bronze/BaekJoon8871.java | 0 .../baekjoon/bronze/BaekJoon9086.java | 0 .../baekjoon/bronze/BaekJoon9654.java | 0 .../baekjoon/bronze/Baekjoon1350.java | 0 .../baekjoon/bronze/Baekjoon14581.java | 0 .../baekjoon/class1/BaekJoon10171.java | 0 .../baekjoon/class1/BaekJoon10172.java | 0 .../baekjoon/class1/BaekJoon10250.java | 0 .../baekjoon/class1/BaekJoon10809.java | 0 .../baekjoon/class1/BaekJoon10818.java | 0 .../baekjoon/class1/BaekJoon10950.java | 0 .../baekjoon/class1/BaekJoon10952.java | 0 .../baekjoon/class1/BaekJoon1152.java | 0 .../baekjoon/class1/BaekJoon11654.java | 0 .../baekjoon/class1/BaekJoon11720.java | 0 .../baekjoon/class1/BaekJoon1330.java | 0 .../baekjoon/class1/BaekJoon2438.java | 0 .../baekjoon/class1/BaekJoon2439.java | 0 .../baekjoon/class1/BaekJoon2475.java | 0 .../baekjoon/class1/BaekJoon25083.java | 0 .../baekjoon/class1/BaekJoon2577.java | 0 .../baekjoon/class1/BaekJoon2675.java | 0 .../baekjoon/class1/BaekJoon2739.java | 0 .../baekjoon/class1/BaekJoon2741.java | 0 .../baekjoon/class1/BaekJoon2753.java | 0 .../baekjoon/class1/BaekJoon27866.java | 0 .../baekjoon/class1/BaekJoon2884.java | 0 .../baekjoon/class1/BaekJoon2920.java | 0 .../baekjoon/class1/BaekJoon3052.java | 0 .../baekjoon/class1/BaekJoon8958.java | 0 .../baekjoon/class1/BaekJoon9498.java | 0 .../baekjoon/class1/BeakJoon10871.java | 0 .../baekjoon/class2/BackJoon11050.java | 0 .../baekjoon/class2/BackJoon2751.java | 0 .../baekjoon/class2/BackJoon4153.java | 0 .../baekjoon/class2/BaekJoon1018.java | 0 .../baekjoon/class2/BaekJoon10814.java | 0 .../baekjoon/class2/BaekJoon10816.java | 0 .../baekjoon/class2/BaekJoon10828.java | 0 .../baekjoon/class2/BaekJoon10845.java | 0 .../baekjoon/class2/BaekJoon10866.java | 0 .../baekjoon/class2/BaekJoon10989.java | 0 .../baekjoon/class2/BaekJoon11650.java | 0 .../baekjoon/class2/BaekJoon11651.java | 0 .../baekjoon/class2/BaekJoon1181.java | 0 .../baekjoon/class2/BaekJoon11866.java | 0 .../baekjoon/class2/BaekJoon1259.java | 0 .../baekjoon/class2/BaekJoon1436.java | 0 .../baekjoon/class2/BaekJoon1546.java | 0 .../baekjoon/class2/BaekJoon15829.java | 0 .../baekjoon/class2/BaekJoon1654.java | 0 .../baekjoon/class2/BaekJoon1676.java | 0 .../baekjoon/class2/BaekJoon18110.java | 0 .../baekjoon/class2/BaekJoon18111.java | 0 .../baekjoon/class2/BaekJoon1874.java | 0 .../baekjoon/class2/BaekJoon1920.java | 0 .../baekjoon/class2/BaekJoon1929.java | 0 .../baekjoon/class2/BaekJoon1966.java | 0 .../baekjoon/class2/BaekJoon1978.java | 0 .../baekjoon/class2/BaekJoon2108.java | 0 .../baekjoon/class2/BaekJoon2164.java | 0 .../baekjoon/class2/BaekJoon2231.java | 0 .../baekjoon/class2/BaekJoon2609.java | 0 .../baekjoon/class2/BaekJoon2775.java | 0 .../baekjoon/class2/BaekJoon2798.java | 0 .../baekjoon/class2/BaekJoon2839.java | 0 .../baekjoon/class2/BaekJoon2869.java | 0 .../baekjoon/class2/BaekJoon4949.java | 0 .../baekjoon/class2/BaekJoon7568.java | 0 .../baekjoon/class2/BeakJoon10773.java | 0 .../baekjoon/class2/BeakJoon2292.java | 0 .../baekjoon/class2/BeakJoon9012.java | 0 .../baekjoon/class3/BaekJoon10026.java | 0 .../baekjoon/class3/BaekJoon1003.java | 0 .../baekjoon/class3/BaekJoon1012.java | 0 .../baekjoon/class3/BaekJoon1074.java | 0 .../baekjoon/class3/BaekJoon11047.java | 0 .../baekjoon/class3/BaekJoon11279.java | 0 .../baekjoon/class3/BaekJoon11399.java | 0 .../baekjoon/class3/BaekJoon11403.java | 0 .../baekjoon/class3/BaekJoon11659.java | 0 .../baekjoon/class3/BaekJoon11723.java | 0 .../baekjoon/class3/BaekJoon11724.java | 0 .../baekjoon/class3/BaekJoon11726.java | 0 .../baekjoon/class3/BaekJoon11727.java | 0 .../baekjoon/class3/BaekJoon1260.java | 0 .../baekjoon/class3/BaekJoon1389.java | 0 .../baekjoon/class3/BaekJoon1404.java | 0 .../baekjoon/class3/BaekJoon14500.java | 0 .../baekjoon/class3/BaekJoon1463.java | 0 .../baekjoon/class3/BaekJoon14940.java | 0 .../baekjoon/class3/BaekJoon1541.java | 0 .../baekjoon/class3/BaekJoon15649.java | 0 .../baekjoon/class3/BaekJoon1620.java | 0 .../baekjoon/class3/BaekJoon16828.java | 0 .../baekjoon/class3/BaekJoon1697.java | 0 .../baekjoon/class3/BaekJoon17219.java | 0 .../baekjoon/class3/BaekJoon17626.java | 0 .../baekjoon/class3/BaekJoon1764.java | 0 .../baekjoon/class3/BaekJoon18870.java | 0 .../baekjoon/class3/BaekJoon1927.java | 0 .../baekjoon/class3/BaekJoon1931.java | 0 .../baekjoon/class3/BaekJoon20529.java | 0 .../baekjoon/class3/BaekJoon21736.java | 0 .../baekjoon/class3/BaekJoon2178.java | 0 .../baekjoon/class3/BaekJoon2579.java | 0 .../baekjoon/class3/BaekJoon2606.java | 0 .../baekjoon/class3/BaekJoon2630.java | 0 .../baekjoon/class3/BaekJoon2805.java | 0 .../baekjoon/class3/BaekJoon30804.java | 0 .../baekjoon/class3/BaekJoon5430.java | 0 .../baekjoon/class3/BaekJoon5525.java | 0 .../baekjoon/class3/BaekJoon6064.java | 0 .../baekjoon/class3/BaekJoon7569.java | 0 .../baekjoon/class3/BaekJoon7576.java | 0 .../baekjoon/class3/BaekJoon7662.java | 0 .../baekjoon/class3/BaekJoon9005.java | 0 .../baekjoon/class3/BaekJoon9019.java | 0 .../baekjoon/class3/BaekJoon9375.java | 0 .../baekjoon/class3/BaekJoon9461.java | 0 .../baekjoon/class3/BaekJoont2630Two.java | 0 .../baekjoon/class3/BeakJoon11286.java | 0 .../baekjoon/class4/BaekJoon1043.java | 0 .../baekjoon/class4/BaekJoon11053.java | 0 .../baekjoon/class4/BaekJoon11404.java | 0 .../baekjoon/class4/BaekJoon11444.java | 0 .../baekjoon/class4/BaekJoon1149.java | 0 .../baekjoon/class4/BaekJoon11660.java | 0 .../baekjoon/class4/BaekJoon11725.java | 0 .../baekjoon/class4/BaekJoon1238.java | 0 .../baekjoon/class4/BaekJoon12865.java | 0 .../baekjoon/class4/BaekJoon13549.java | 0 .../baekjoon/class4/BaekJoon15650.java | 0 .../baekjoon/class4/BaekJoon15652.java | 0 .../baekjoon/class4/BaekJoon15654.java | 0 .../baekjoon/class4/BaekJoon15663.java | 0 .../baekjoon/class4/BaekJoon15666.java | 0 .../baekjoon/class4/BaekJoon16953.java | 0 .../baekjoon/class4/BaekJoon1753.java | 0 .../baekjoon/class4/BaekJoon1916.java | 0 src/baekjoon/class4/BaekJoon1918.java | 71 +++++ .../baekjoon/class4/BaekJoon1932.java | 0 .../baekjoon/class4/BaekJoon1991.java | 0 .../baekjoon/class4/BaekJoon2096.java | 0 .../baekjoon/class4/BaekJoon2206.java | 0 .../baekjoon/class4/BaekJoon9251.java | 0 .../baekjoon/gold/BaekJoon14502.java | 0 .../java => }/baekjoon/gold/BaekJoon9663.java | 0 .../baekjoon/seed/BigIntegerOperatior.java | 0 src/{main/java => }/baekjoon/seed/Rich.java | 0 .../baekjoon/silver/BaekJonn19709.java | 0 .../baekjoon/silver/BaekJoon1010.java | 0 .../baekjoon/silver/BaekJoon1094.java | 0 .../baekjoon/silver/BaekJoon11123.java | 0 .../baekjoon/silver/BaekJoon11675.java | 0 .../baekjoon/silver/BaekJoon1193.java | 0 .../baekjoon/silver/BaekJoon1268.java | 0 .../baekjoon/silver/BaekJoon1312.java | 0 .../baekjoon/silver/BaekJoon1316.java | 0 .../baekjoon/silver/BaekJoon13172.java | 0 .../baekjoon/silver/BaekJoon13414.java | 0 .../baekjoon/silver/BaekJoon13909.java | 0 .../baekjoon/silver/BaekJoon1475.java | 0 .../baekjoon/silver/BaekJoon15779.java | 0 .../baekjoon/silver/BaekJoon16208.java | 0 .../baekjoon/silver/BaekJoon1629.java | 0 .../baekjoon/silver/BaekJoon17127.java | 0 .../baekjoon/silver/BaekJoon24173.java | 0 .../baekjoon/silver/BaekJoon24755.java | 0 .../baekjoon/silver/BaekJoon2667.java | 0 .../baekjoon/silver/BaekJoon26876.java | 0 .../baekjoon/silver/BaekJoon31575.java | 0 .../baekjoon/silver/BaekJoon8975.java | 0 .../baekjoon/silver/BaekJoon9372.java | 0 .../java => }/basic/baaarking/sum100.java | 0 src/{main/java => }/basic/bfs/BFS.java | 0 .../java => }/basic/datastructure/Base.java | 0 .../datastructure/list/AbstractList.java | 0 .../basic/datastructure/list/ArrayList.java | 0 .../basic/datastructure/list/LinkedList.java | 0 .../basic/datastructure/list/List.java | 0 .../java => }/basic/practice/problem3_1.java | 0 .../java => }/basic/sort/ArrayGenerator.java | 0 src/{main/java => }/basic/sort/Sort.java | 0 src/{main/java => }/basic/sort/SortMain.java | 0 .../java => }/basic/sort/impl/Bubble.java | 0 .../java => }/basic/sort/impl/Insert.java | 0 .../java => }/basic/sort/impl/Merge.java | 0 .../java => }/basic/sort/impl/Quick.java | 0 .../java => }/basic/sort/impl/Select.java | 0 src/{main/java => }/basic/star/Star1.java | 0 src/{main/java => }/basic/star/Star2.java | 0 src/{main/java => }/basic/star/Star3.java | 0 src/{main/java => }/basic/star/Star4.java | 0 src/{main/java => }/basic/star/Star5.java | 0 src/{main/java => }/basic/star/Star5_2.java | 0 src/{main/java => }/basic/star/Star5_3.java | 0 src/{main/java => }/basic/star/Star5_3_2.java | 0 src/{main/java => }/basic/star/Star6.java | 0 src/{main/java => }/basic/star/Star7.java | 0 src/{main/java => }/basic/star/Star8.java | 0 src/{main/java => }/basic/star/Star9.java | 0 .../java => }/basic/star/StarInterface.java | 0 src/{main/java => }/basic/star/StarMain.java | 0 .../java => }/basic/star/StarUbin5_2.java | 0 .../java => }/basic/star/StartUbin5_2_2.java | 0 src/main/resources/application.properties | 1 - .../java/git => }/mergeTest/ShareModify.java | 0 .../java/git => }/mergeTest/merge1modify.java | 0 .../java/git => }/mergeTest/merge2modify.java | 0 .../alogorithm/baekjoon/BaekJoonTest.java | 13 - .../datastructure/list/ArrayListTest.java | 79 ------ .../datastrycture/list/ArrayListTest.java | 79 ------ .../datastrycture/list/LinkedListTest.java | 132 --------- 303 files changed, 100 insertions(+), 677 deletions(-) delete mode 100644 build.gradle delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties delete mode 100644 gradlew delete mode 100644 gradlew.bat create mode 100644 src/.idea/.gitignore create mode 100644 src/.idea/misc.xml create mode 100644 src/.idea/modules.xml create mode 100644 src/.idea/vcs.xml rename algorithmStudy.iml => src/algorithm.iml (70%) rename src/{main/java => }/baekjoon/baekJoon/BaekJoon1002.java (100%) rename src/{main/java => }/baekjoon/baekJoon/BaekJoon1003.java (100%) rename src/{main/java => }/baekjoon/baekJoon/BaekJoon1152.java (100%) rename src/{main/java => }/baekjoon/baekJoon/BaekJoon1237.java (100%) rename src/{main/java => }/baekjoon/baekJoon/BaekJoon1308.java (100%) rename src/{main/java => }/baekjoon/baekJoon/BaekJoon16719.java (100%) rename src/{main/java => }/baekjoon/baekJoon/BaekJoon2508.java (100%) rename src/{main/java => }/baekjoon/baekJoon/BaekJoon2668.java (100%) rename src/{main/java => }/baekjoon/baekJoon/BaekJoon9494.java (100%) rename src/{main/java => }/baekjoon/bronze/BackJoon15740.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon1009.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon10170.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon1032.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon10757.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon10807.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon10872.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon10984.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon11021.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon11022.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon11117.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon11718.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon11942.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon1231231231.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon1236.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon12595.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon13228.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon14456.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon14491.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon14645.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon14928.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15000.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15115.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15232.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon1551.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15552.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15680.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15700.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15727.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15733.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15917.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15962.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15963.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon15964.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon16170.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon16394.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon20492.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2083.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon21623.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2163.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon23080.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2393.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2446.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon24603.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon24736.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon24751.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2525.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon25841.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon26489.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2738.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2743.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2744.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2754.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon28281.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon2947.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon29751.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon3003.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon31832.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon3733.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon4101.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon4890.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon5341.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon5365.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon5522.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon5597.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon6840.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon7891.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon8370.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon8437.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon8545.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon8871.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon9086.java (100%) rename src/{main/java => }/baekjoon/bronze/BaekJoon9654.java (100%) rename src/{main/java => }/baekjoon/bronze/Baekjoon1350.java (100%) rename src/{main/java => }/baekjoon/bronze/Baekjoon14581.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon10171.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon10172.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon10250.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon10809.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon10818.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon10950.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon10952.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon1152.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon11654.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon11720.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon1330.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2438.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2439.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2475.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon25083.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2577.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2675.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2739.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2741.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2753.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon27866.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2884.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon2920.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon3052.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon8958.java (100%) rename src/{main/java => }/baekjoon/class1/BaekJoon9498.java (100%) rename src/{main/java => }/baekjoon/class1/BeakJoon10871.java (100%) rename src/{main/java => }/baekjoon/class2/BackJoon11050.java (100%) rename src/{main/java => }/baekjoon/class2/BackJoon2751.java (100%) rename src/{main/java => }/baekjoon/class2/BackJoon4153.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1018.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon10814.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon10816.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon10828.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon10845.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon10866.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon10989.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon11650.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon11651.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1181.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon11866.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1259.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1436.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1546.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon15829.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1654.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1676.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon18110.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon18111.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1874.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1920.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1929.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1966.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon1978.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon2108.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon2164.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon2231.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon2609.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon2775.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon2798.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon2839.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon2869.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon4949.java (100%) rename src/{main/java => }/baekjoon/class2/BaekJoon7568.java (100%) rename src/{main/java => }/baekjoon/class2/BeakJoon10773.java (100%) rename src/{main/java => }/baekjoon/class2/BeakJoon2292.java (100%) rename src/{main/java => }/baekjoon/class2/BeakJoon9012.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon10026.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1003.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1012.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1074.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon11047.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon11279.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon11399.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon11403.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon11659.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon11723.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon11724.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon11726.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon11727.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1260.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1389.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1404.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon14500.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1463.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon14940.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1541.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon15649.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1620.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon16828.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1697.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon17219.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon17626.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1764.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon18870.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1927.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon1931.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon20529.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon21736.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon2178.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon2579.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon2606.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon2630.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon2805.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon30804.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon5430.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon5525.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon6064.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon7569.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon7576.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon7662.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon9005.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon9019.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon9375.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoon9461.java (100%) rename src/{main/java => }/baekjoon/class3/BaekJoont2630Two.java (100%) rename src/{main/java => }/baekjoon/class3/BeakJoon11286.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon1043.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon11053.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon11404.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon11444.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon1149.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon11660.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon11725.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon1238.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon12865.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon13549.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon15650.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon15652.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon15654.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon15663.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon15666.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon16953.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon1753.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon1916.java (100%) create mode 100644 src/baekjoon/class4/BaekJoon1918.java rename src/{main/java => }/baekjoon/class4/BaekJoon1932.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon1991.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon2096.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon2206.java (100%) rename src/{main/java => }/baekjoon/class4/BaekJoon9251.java (100%) rename src/{main/java => }/baekjoon/gold/BaekJoon14502.java (100%) rename src/{main/java => }/baekjoon/gold/BaekJoon9663.java (100%) rename src/{main/java => }/baekjoon/seed/BigIntegerOperatior.java (100%) rename src/{main/java => }/baekjoon/seed/Rich.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJonn19709.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon1010.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon1094.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon11123.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon11675.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon1193.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon1268.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon1312.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon1316.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon13172.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon13414.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon13909.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon1475.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon15779.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon16208.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon1629.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon17127.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon24173.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon24755.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon2667.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon26876.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon31575.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon8975.java (100%) rename src/{main/java => }/baekjoon/silver/BaekJoon9372.java (100%) rename src/{main/java => }/basic/baaarking/sum100.java (100%) rename src/{main/java => }/basic/bfs/BFS.java (100%) rename src/{main/java => }/basic/datastructure/Base.java (100%) rename src/{main/java => }/basic/datastructure/list/AbstractList.java (100%) rename src/{main/java => }/basic/datastructure/list/ArrayList.java (100%) rename src/{main/java => }/basic/datastructure/list/LinkedList.java (100%) rename src/{main/java => }/basic/datastructure/list/List.java (100%) rename src/{main/java => }/basic/practice/problem3_1.java (100%) rename src/{main/java => }/basic/sort/ArrayGenerator.java (100%) rename src/{main/java => }/basic/sort/Sort.java (100%) rename src/{main/java => }/basic/sort/SortMain.java (100%) rename src/{main/java => }/basic/sort/impl/Bubble.java (100%) rename src/{main/java => }/basic/sort/impl/Insert.java (100%) rename src/{main/java => }/basic/sort/impl/Merge.java (100%) rename src/{main/java => }/basic/sort/impl/Quick.java (100%) rename src/{main/java => }/basic/sort/impl/Select.java (100%) rename src/{main/java => }/basic/star/Star1.java (100%) rename src/{main/java => }/basic/star/Star2.java (100%) rename src/{main/java => }/basic/star/Star3.java (100%) rename src/{main/java => }/basic/star/Star4.java (100%) rename src/{main/java => }/basic/star/Star5.java (100%) rename src/{main/java => }/basic/star/Star5_2.java (100%) rename src/{main/java => }/basic/star/Star5_3.java (100%) rename src/{main/java => }/basic/star/Star5_3_2.java (100%) rename src/{main/java => }/basic/star/Star6.java (100%) rename src/{main/java => }/basic/star/Star7.java (100%) rename src/{main/java => }/basic/star/Star8.java (100%) rename src/{main/java => }/basic/star/Star9.java (100%) rename src/{main/java => }/basic/star/StarInterface.java (100%) rename src/{main/java => }/basic/star/StarMain.java (100%) rename src/{main/java => }/basic/star/StarUbin5_2.java (100%) rename src/{main/java => }/basic/star/StartUbin5_2_2.java (100%) delete mode 100644 src/main/resources/application.properties rename src/{main/java/git => }/mergeTest/ShareModify.java (100%) rename src/{main/java/git => }/mergeTest/merge1modify.java (100%) rename src/{main/java/git => }/mergeTest/merge2modify.java (100%) delete mode 100644 src/test/java/alogorithm/baekjoon/BaekJoonTest.java delete mode 100644 src/test/java/datastructure/list/ArrayListTest.java delete mode 100644 src/test/java/datastrycture/list/ArrayListTest.java delete mode 100644 src/test/java/datastrycture/list/LinkedListTest.java diff --git a/build.gradle b/build.gradle deleted file mode 100644 index d9d4892..0000000 --- a/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -plugins { - id 'java' -} - -group 'org.example' -version '1.0' - -repositories { - mavenCentral() -} - -dependencies { - testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' -} - -test { - useJUnitPlatform() -} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index a4b76b9530d66f5e68d973ea569d8e19de379189..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43583 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 yu?e%!_ptzGB|8GrCfu%p?(_ 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 GZ~q4|mN%#X diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 9355b41..0000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew deleted file mode 100644 index f5feea6..0000000 --- a/gradlew +++ /dev/null @@ -1,252 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s -' "$PWD" ) || exit - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, -# and any embedded shellness will be escaped. -# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be -# treated as '${Hostname}' itself on the command line. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index 9d21a21..0000000 --- a/gradlew.bat +++ /dev/null @@ -1,94 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/src/.idea/.gitignore b/src/.idea/.gitignore new file mode 100644 index 0000000..c3f502a --- /dev/null +++ b/src/.idea/.gitignore @@ -0,0 +1,8 @@ +# 디폴트 무시된 파일 +/shelf/ +/workspace.xml +# 에디터 기반 HTTP 클라이언트 요청 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/src/.idea/misc.xml b/src/.idea/misc.xml new file mode 100644 index 0000000..07115cd --- /dev/null +++ b/src/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/.idea/modules.xml b/src/.idea/modules.xml new file mode 100644 index 0000000..23f37a8 --- /dev/null +++ b/src/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/.idea/vcs.xml b/src/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/src/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/algorithmStudy.iml b/src/algorithm.iml similarity index 70% rename from algorithmStudy.iml rename to src/algorithm.iml index 245d342..b107a2d 100644 --- a/algorithmStudy.iml +++ b/src/algorithm.iml @@ -3,10 +3,9 @@ - + - \ No newline at end of file diff --git a/src/main/java/baekjoon/baekJoon/BaekJoon1002.java b/src/baekjoon/baekJoon/BaekJoon1002.java similarity index 100% rename from src/main/java/baekjoon/baekJoon/BaekJoon1002.java rename to src/baekjoon/baekJoon/BaekJoon1002.java diff --git a/src/main/java/baekjoon/baekJoon/BaekJoon1003.java b/src/baekjoon/baekJoon/BaekJoon1003.java similarity index 100% rename from src/main/java/baekjoon/baekJoon/BaekJoon1003.java rename to src/baekjoon/baekJoon/BaekJoon1003.java diff --git a/src/main/java/baekjoon/baekJoon/BaekJoon1152.java b/src/baekjoon/baekJoon/BaekJoon1152.java similarity index 100% rename from src/main/java/baekjoon/baekJoon/BaekJoon1152.java rename to src/baekjoon/baekJoon/BaekJoon1152.java diff --git a/src/main/java/baekjoon/baekJoon/BaekJoon1237.java b/src/baekjoon/baekJoon/BaekJoon1237.java similarity index 100% rename from src/main/java/baekjoon/baekJoon/BaekJoon1237.java rename to src/baekjoon/baekJoon/BaekJoon1237.java diff --git a/src/main/java/baekjoon/baekJoon/BaekJoon1308.java b/src/baekjoon/baekJoon/BaekJoon1308.java similarity index 100% rename from src/main/java/baekjoon/baekJoon/BaekJoon1308.java rename to src/baekjoon/baekJoon/BaekJoon1308.java diff --git a/src/main/java/baekjoon/baekJoon/BaekJoon16719.java b/src/baekjoon/baekJoon/BaekJoon16719.java similarity index 100% rename from src/main/java/baekjoon/baekJoon/BaekJoon16719.java rename to src/baekjoon/baekJoon/BaekJoon16719.java diff --git a/src/main/java/baekjoon/baekJoon/BaekJoon2508.java b/src/baekjoon/baekJoon/BaekJoon2508.java similarity index 100% rename from src/main/java/baekjoon/baekJoon/BaekJoon2508.java rename to src/baekjoon/baekJoon/BaekJoon2508.java diff --git a/src/main/java/baekjoon/baekJoon/BaekJoon2668.java b/src/baekjoon/baekJoon/BaekJoon2668.java similarity index 100% rename from src/main/java/baekjoon/baekJoon/BaekJoon2668.java rename to src/baekjoon/baekJoon/BaekJoon2668.java diff --git a/src/main/java/baekjoon/baekJoon/BaekJoon9494.java b/src/baekjoon/baekJoon/BaekJoon9494.java similarity index 100% rename from src/main/java/baekjoon/baekJoon/BaekJoon9494.java rename to src/baekjoon/baekJoon/BaekJoon9494.java diff --git a/src/main/java/baekjoon/bronze/BackJoon15740.java b/src/baekjoon/bronze/BackJoon15740.java similarity index 100% rename from src/main/java/baekjoon/bronze/BackJoon15740.java rename to src/baekjoon/bronze/BackJoon15740.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon1009.java b/src/baekjoon/bronze/BaekJoon1009.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon1009.java rename to src/baekjoon/bronze/BaekJoon1009.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon10170.java b/src/baekjoon/bronze/BaekJoon10170.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon10170.java rename to src/baekjoon/bronze/BaekJoon10170.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon1032.java b/src/baekjoon/bronze/BaekJoon1032.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon1032.java rename to src/baekjoon/bronze/BaekJoon1032.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon10757.java b/src/baekjoon/bronze/BaekJoon10757.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon10757.java rename to src/baekjoon/bronze/BaekJoon10757.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon10807.java b/src/baekjoon/bronze/BaekJoon10807.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon10807.java rename to src/baekjoon/bronze/BaekJoon10807.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon10872.java b/src/baekjoon/bronze/BaekJoon10872.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon10872.java rename to src/baekjoon/bronze/BaekJoon10872.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon10984.java b/src/baekjoon/bronze/BaekJoon10984.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon10984.java rename to src/baekjoon/bronze/BaekJoon10984.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon11021.java b/src/baekjoon/bronze/BaekJoon11021.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon11021.java rename to src/baekjoon/bronze/BaekJoon11021.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon11022.java b/src/baekjoon/bronze/BaekJoon11022.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon11022.java rename to src/baekjoon/bronze/BaekJoon11022.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon11117.java b/src/baekjoon/bronze/BaekJoon11117.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon11117.java rename to src/baekjoon/bronze/BaekJoon11117.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon11718.java b/src/baekjoon/bronze/BaekJoon11718.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon11718.java rename to src/baekjoon/bronze/BaekJoon11718.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon11942.java b/src/baekjoon/bronze/BaekJoon11942.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon11942.java rename to src/baekjoon/bronze/BaekJoon11942.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon1231231231.java b/src/baekjoon/bronze/BaekJoon1231231231.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon1231231231.java rename to src/baekjoon/bronze/BaekJoon1231231231.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon1236.java b/src/baekjoon/bronze/BaekJoon1236.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon1236.java rename to src/baekjoon/bronze/BaekJoon1236.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon12595.java b/src/baekjoon/bronze/BaekJoon12595.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon12595.java rename to src/baekjoon/bronze/BaekJoon12595.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon13228.java b/src/baekjoon/bronze/BaekJoon13228.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon13228.java rename to src/baekjoon/bronze/BaekJoon13228.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon14456.java b/src/baekjoon/bronze/BaekJoon14456.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon14456.java rename to src/baekjoon/bronze/BaekJoon14456.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon14491.java b/src/baekjoon/bronze/BaekJoon14491.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon14491.java rename to src/baekjoon/bronze/BaekJoon14491.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon14645.java b/src/baekjoon/bronze/BaekJoon14645.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon14645.java rename to src/baekjoon/bronze/BaekJoon14645.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon14928.java b/src/baekjoon/bronze/BaekJoon14928.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon14928.java rename to src/baekjoon/bronze/BaekJoon14928.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15000.java b/src/baekjoon/bronze/BaekJoon15000.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15000.java rename to src/baekjoon/bronze/BaekJoon15000.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15115.java b/src/baekjoon/bronze/BaekJoon15115.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15115.java rename to src/baekjoon/bronze/BaekJoon15115.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15232.java b/src/baekjoon/bronze/BaekJoon15232.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15232.java rename to src/baekjoon/bronze/BaekJoon15232.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon1551.java b/src/baekjoon/bronze/BaekJoon1551.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon1551.java rename to src/baekjoon/bronze/BaekJoon1551.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15552.java b/src/baekjoon/bronze/BaekJoon15552.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15552.java rename to src/baekjoon/bronze/BaekJoon15552.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15680.java b/src/baekjoon/bronze/BaekJoon15680.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15680.java rename to src/baekjoon/bronze/BaekJoon15680.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15700.java b/src/baekjoon/bronze/BaekJoon15700.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15700.java rename to src/baekjoon/bronze/BaekJoon15700.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15727.java b/src/baekjoon/bronze/BaekJoon15727.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15727.java rename to src/baekjoon/bronze/BaekJoon15727.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15733.java b/src/baekjoon/bronze/BaekJoon15733.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15733.java rename to src/baekjoon/bronze/BaekJoon15733.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15917.java b/src/baekjoon/bronze/BaekJoon15917.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15917.java rename to src/baekjoon/bronze/BaekJoon15917.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15962.java b/src/baekjoon/bronze/BaekJoon15962.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15962.java rename to src/baekjoon/bronze/BaekJoon15962.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15963.java b/src/baekjoon/bronze/BaekJoon15963.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15963.java rename to src/baekjoon/bronze/BaekJoon15963.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon15964.java b/src/baekjoon/bronze/BaekJoon15964.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon15964.java rename to src/baekjoon/bronze/BaekJoon15964.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon16170.java b/src/baekjoon/bronze/BaekJoon16170.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon16170.java rename to src/baekjoon/bronze/BaekJoon16170.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon16394.java b/src/baekjoon/bronze/BaekJoon16394.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon16394.java rename to src/baekjoon/bronze/BaekJoon16394.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon20492.java b/src/baekjoon/bronze/BaekJoon20492.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon20492.java rename to src/baekjoon/bronze/BaekJoon20492.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2083.java b/src/baekjoon/bronze/BaekJoon2083.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2083.java rename to src/baekjoon/bronze/BaekJoon2083.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon21623.java b/src/baekjoon/bronze/BaekJoon21623.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon21623.java rename to src/baekjoon/bronze/BaekJoon21623.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2163.java b/src/baekjoon/bronze/BaekJoon2163.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2163.java rename to src/baekjoon/bronze/BaekJoon2163.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon23080.java b/src/baekjoon/bronze/BaekJoon23080.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon23080.java rename to src/baekjoon/bronze/BaekJoon23080.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2393.java b/src/baekjoon/bronze/BaekJoon2393.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2393.java rename to src/baekjoon/bronze/BaekJoon2393.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2446.java b/src/baekjoon/bronze/BaekJoon2446.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2446.java rename to src/baekjoon/bronze/BaekJoon2446.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon24603.java b/src/baekjoon/bronze/BaekJoon24603.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon24603.java rename to src/baekjoon/bronze/BaekJoon24603.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon24736.java b/src/baekjoon/bronze/BaekJoon24736.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon24736.java rename to src/baekjoon/bronze/BaekJoon24736.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon24751.java b/src/baekjoon/bronze/BaekJoon24751.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon24751.java rename to src/baekjoon/bronze/BaekJoon24751.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2525.java b/src/baekjoon/bronze/BaekJoon2525.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2525.java rename to src/baekjoon/bronze/BaekJoon2525.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon25841.java b/src/baekjoon/bronze/BaekJoon25841.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon25841.java rename to src/baekjoon/bronze/BaekJoon25841.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon26489.java b/src/baekjoon/bronze/BaekJoon26489.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon26489.java rename to src/baekjoon/bronze/BaekJoon26489.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2738.java b/src/baekjoon/bronze/BaekJoon2738.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2738.java rename to src/baekjoon/bronze/BaekJoon2738.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2743.java b/src/baekjoon/bronze/BaekJoon2743.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2743.java rename to src/baekjoon/bronze/BaekJoon2743.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2744.java b/src/baekjoon/bronze/BaekJoon2744.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2744.java rename to src/baekjoon/bronze/BaekJoon2744.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2754.java b/src/baekjoon/bronze/BaekJoon2754.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2754.java rename to src/baekjoon/bronze/BaekJoon2754.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon28281.java b/src/baekjoon/bronze/BaekJoon28281.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon28281.java rename to src/baekjoon/bronze/BaekJoon28281.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon2947.java b/src/baekjoon/bronze/BaekJoon2947.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon2947.java rename to src/baekjoon/bronze/BaekJoon2947.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon29751.java b/src/baekjoon/bronze/BaekJoon29751.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon29751.java rename to src/baekjoon/bronze/BaekJoon29751.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon3003.java b/src/baekjoon/bronze/BaekJoon3003.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon3003.java rename to src/baekjoon/bronze/BaekJoon3003.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon31832.java b/src/baekjoon/bronze/BaekJoon31832.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon31832.java rename to src/baekjoon/bronze/BaekJoon31832.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon3733.java b/src/baekjoon/bronze/BaekJoon3733.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon3733.java rename to src/baekjoon/bronze/BaekJoon3733.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon4101.java b/src/baekjoon/bronze/BaekJoon4101.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon4101.java rename to src/baekjoon/bronze/BaekJoon4101.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon4890.java b/src/baekjoon/bronze/BaekJoon4890.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon4890.java rename to src/baekjoon/bronze/BaekJoon4890.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon5341.java b/src/baekjoon/bronze/BaekJoon5341.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon5341.java rename to src/baekjoon/bronze/BaekJoon5341.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon5365.java b/src/baekjoon/bronze/BaekJoon5365.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon5365.java rename to src/baekjoon/bronze/BaekJoon5365.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon5522.java b/src/baekjoon/bronze/BaekJoon5522.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon5522.java rename to src/baekjoon/bronze/BaekJoon5522.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon5597.java b/src/baekjoon/bronze/BaekJoon5597.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon5597.java rename to src/baekjoon/bronze/BaekJoon5597.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon6840.java b/src/baekjoon/bronze/BaekJoon6840.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon6840.java rename to src/baekjoon/bronze/BaekJoon6840.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon7891.java b/src/baekjoon/bronze/BaekJoon7891.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon7891.java rename to src/baekjoon/bronze/BaekJoon7891.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon8370.java b/src/baekjoon/bronze/BaekJoon8370.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon8370.java rename to src/baekjoon/bronze/BaekJoon8370.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon8437.java b/src/baekjoon/bronze/BaekJoon8437.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon8437.java rename to src/baekjoon/bronze/BaekJoon8437.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon8545.java b/src/baekjoon/bronze/BaekJoon8545.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon8545.java rename to src/baekjoon/bronze/BaekJoon8545.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon8871.java b/src/baekjoon/bronze/BaekJoon8871.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon8871.java rename to src/baekjoon/bronze/BaekJoon8871.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon9086.java b/src/baekjoon/bronze/BaekJoon9086.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon9086.java rename to src/baekjoon/bronze/BaekJoon9086.java diff --git a/src/main/java/baekjoon/bronze/BaekJoon9654.java b/src/baekjoon/bronze/BaekJoon9654.java similarity index 100% rename from src/main/java/baekjoon/bronze/BaekJoon9654.java rename to src/baekjoon/bronze/BaekJoon9654.java diff --git a/src/main/java/baekjoon/bronze/Baekjoon1350.java b/src/baekjoon/bronze/Baekjoon1350.java similarity index 100% rename from src/main/java/baekjoon/bronze/Baekjoon1350.java rename to src/baekjoon/bronze/Baekjoon1350.java diff --git a/src/main/java/baekjoon/bronze/Baekjoon14581.java b/src/baekjoon/bronze/Baekjoon14581.java similarity index 100% rename from src/main/java/baekjoon/bronze/Baekjoon14581.java rename to src/baekjoon/bronze/Baekjoon14581.java diff --git a/src/main/java/baekjoon/class1/BaekJoon10171.java b/src/baekjoon/class1/BaekJoon10171.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon10171.java rename to src/baekjoon/class1/BaekJoon10171.java diff --git a/src/main/java/baekjoon/class1/BaekJoon10172.java b/src/baekjoon/class1/BaekJoon10172.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon10172.java rename to src/baekjoon/class1/BaekJoon10172.java diff --git a/src/main/java/baekjoon/class1/BaekJoon10250.java b/src/baekjoon/class1/BaekJoon10250.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon10250.java rename to src/baekjoon/class1/BaekJoon10250.java diff --git a/src/main/java/baekjoon/class1/BaekJoon10809.java b/src/baekjoon/class1/BaekJoon10809.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon10809.java rename to src/baekjoon/class1/BaekJoon10809.java diff --git a/src/main/java/baekjoon/class1/BaekJoon10818.java b/src/baekjoon/class1/BaekJoon10818.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon10818.java rename to src/baekjoon/class1/BaekJoon10818.java diff --git a/src/main/java/baekjoon/class1/BaekJoon10950.java b/src/baekjoon/class1/BaekJoon10950.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon10950.java rename to src/baekjoon/class1/BaekJoon10950.java diff --git a/src/main/java/baekjoon/class1/BaekJoon10952.java b/src/baekjoon/class1/BaekJoon10952.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon10952.java rename to src/baekjoon/class1/BaekJoon10952.java diff --git a/src/main/java/baekjoon/class1/BaekJoon1152.java b/src/baekjoon/class1/BaekJoon1152.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon1152.java rename to src/baekjoon/class1/BaekJoon1152.java diff --git a/src/main/java/baekjoon/class1/BaekJoon11654.java b/src/baekjoon/class1/BaekJoon11654.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon11654.java rename to src/baekjoon/class1/BaekJoon11654.java diff --git a/src/main/java/baekjoon/class1/BaekJoon11720.java b/src/baekjoon/class1/BaekJoon11720.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon11720.java rename to src/baekjoon/class1/BaekJoon11720.java diff --git a/src/main/java/baekjoon/class1/BaekJoon1330.java b/src/baekjoon/class1/BaekJoon1330.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon1330.java rename to src/baekjoon/class1/BaekJoon1330.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2438.java b/src/baekjoon/class1/BaekJoon2438.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2438.java rename to src/baekjoon/class1/BaekJoon2438.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2439.java b/src/baekjoon/class1/BaekJoon2439.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2439.java rename to src/baekjoon/class1/BaekJoon2439.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2475.java b/src/baekjoon/class1/BaekJoon2475.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2475.java rename to src/baekjoon/class1/BaekJoon2475.java diff --git a/src/main/java/baekjoon/class1/BaekJoon25083.java b/src/baekjoon/class1/BaekJoon25083.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon25083.java rename to src/baekjoon/class1/BaekJoon25083.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2577.java b/src/baekjoon/class1/BaekJoon2577.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2577.java rename to src/baekjoon/class1/BaekJoon2577.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2675.java b/src/baekjoon/class1/BaekJoon2675.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2675.java rename to src/baekjoon/class1/BaekJoon2675.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2739.java b/src/baekjoon/class1/BaekJoon2739.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2739.java rename to src/baekjoon/class1/BaekJoon2739.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2741.java b/src/baekjoon/class1/BaekJoon2741.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2741.java rename to src/baekjoon/class1/BaekJoon2741.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2753.java b/src/baekjoon/class1/BaekJoon2753.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2753.java rename to src/baekjoon/class1/BaekJoon2753.java diff --git a/src/main/java/baekjoon/class1/BaekJoon27866.java b/src/baekjoon/class1/BaekJoon27866.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon27866.java rename to src/baekjoon/class1/BaekJoon27866.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2884.java b/src/baekjoon/class1/BaekJoon2884.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2884.java rename to src/baekjoon/class1/BaekJoon2884.java diff --git a/src/main/java/baekjoon/class1/BaekJoon2920.java b/src/baekjoon/class1/BaekJoon2920.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon2920.java rename to src/baekjoon/class1/BaekJoon2920.java diff --git a/src/main/java/baekjoon/class1/BaekJoon3052.java b/src/baekjoon/class1/BaekJoon3052.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon3052.java rename to src/baekjoon/class1/BaekJoon3052.java diff --git a/src/main/java/baekjoon/class1/BaekJoon8958.java b/src/baekjoon/class1/BaekJoon8958.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon8958.java rename to src/baekjoon/class1/BaekJoon8958.java diff --git a/src/main/java/baekjoon/class1/BaekJoon9498.java b/src/baekjoon/class1/BaekJoon9498.java similarity index 100% rename from src/main/java/baekjoon/class1/BaekJoon9498.java rename to src/baekjoon/class1/BaekJoon9498.java diff --git a/src/main/java/baekjoon/class1/BeakJoon10871.java b/src/baekjoon/class1/BeakJoon10871.java similarity index 100% rename from src/main/java/baekjoon/class1/BeakJoon10871.java rename to src/baekjoon/class1/BeakJoon10871.java diff --git a/src/main/java/baekjoon/class2/BackJoon11050.java b/src/baekjoon/class2/BackJoon11050.java similarity index 100% rename from src/main/java/baekjoon/class2/BackJoon11050.java rename to src/baekjoon/class2/BackJoon11050.java diff --git a/src/main/java/baekjoon/class2/BackJoon2751.java b/src/baekjoon/class2/BackJoon2751.java similarity index 100% rename from src/main/java/baekjoon/class2/BackJoon2751.java rename to src/baekjoon/class2/BackJoon2751.java diff --git a/src/main/java/baekjoon/class2/BackJoon4153.java b/src/baekjoon/class2/BackJoon4153.java similarity index 100% rename from src/main/java/baekjoon/class2/BackJoon4153.java rename to src/baekjoon/class2/BackJoon4153.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1018.java b/src/baekjoon/class2/BaekJoon1018.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1018.java rename to src/baekjoon/class2/BaekJoon1018.java diff --git a/src/main/java/baekjoon/class2/BaekJoon10814.java b/src/baekjoon/class2/BaekJoon10814.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon10814.java rename to src/baekjoon/class2/BaekJoon10814.java diff --git a/src/main/java/baekjoon/class2/BaekJoon10816.java b/src/baekjoon/class2/BaekJoon10816.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon10816.java rename to src/baekjoon/class2/BaekJoon10816.java diff --git a/src/main/java/baekjoon/class2/BaekJoon10828.java b/src/baekjoon/class2/BaekJoon10828.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon10828.java rename to src/baekjoon/class2/BaekJoon10828.java diff --git a/src/main/java/baekjoon/class2/BaekJoon10845.java b/src/baekjoon/class2/BaekJoon10845.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon10845.java rename to src/baekjoon/class2/BaekJoon10845.java diff --git a/src/main/java/baekjoon/class2/BaekJoon10866.java b/src/baekjoon/class2/BaekJoon10866.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon10866.java rename to src/baekjoon/class2/BaekJoon10866.java diff --git a/src/main/java/baekjoon/class2/BaekJoon10989.java b/src/baekjoon/class2/BaekJoon10989.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon10989.java rename to src/baekjoon/class2/BaekJoon10989.java diff --git a/src/main/java/baekjoon/class2/BaekJoon11650.java b/src/baekjoon/class2/BaekJoon11650.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon11650.java rename to src/baekjoon/class2/BaekJoon11650.java diff --git a/src/main/java/baekjoon/class2/BaekJoon11651.java b/src/baekjoon/class2/BaekJoon11651.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon11651.java rename to src/baekjoon/class2/BaekJoon11651.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1181.java b/src/baekjoon/class2/BaekJoon1181.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1181.java rename to src/baekjoon/class2/BaekJoon1181.java diff --git a/src/main/java/baekjoon/class2/BaekJoon11866.java b/src/baekjoon/class2/BaekJoon11866.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon11866.java rename to src/baekjoon/class2/BaekJoon11866.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1259.java b/src/baekjoon/class2/BaekJoon1259.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1259.java rename to src/baekjoon/class2/BaekJoon1259.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1436.java b/src/baekjoon/class2/BaekJoon1436.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1436.java rename to src/baekjoon/class2/BaekJoon1436.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1546.java b/src/baekjoon/class2/BaekJoon1546.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1546.java rename to src/baekjoon/class2/BaekJoon1546.java diff --git a/src/main/java/baekjoon/class2/BaekJoon15829.java b/src/baekjoon/class2/BaekJoon15829.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon15829.java rename to src/baekjoon/class2/BaekJoon15829.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1654.java b/src/baekjoon/class2/BaekJoon1654.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1654.java rename to src/baekjoon/class2/BaekJoon1654.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1676.java b/src/baekjoon/class2/BaekJoon1676.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1676.java rename to src/baekjoon/class2/BaekJoon1676.java diff --git a/src/main/java/baekjoon/class2/BaekJoon18110.java b/src/baekjoon/class2/BaekJoon18110.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon18110.java rename to src/baekjoon/class2/BaekJoon18110.java diff --git a/src/main/java/baekjoon/class2/BaekJoon18111.java b/src/baekjoon/class2/BaekJoon18111.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon18111.java rename to src/baekjoon/class2/BaekJoon18111.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1874.java b/src/baekjoon/class2/BaekJoon1874.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1874.java rename to src/baekjoon/class2/BaekJoon1874.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1920.java b/src/baekjoon/class2/BaekJoon1920.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1920.java rename to src/baekjoon/class2/BaekJoon1920.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1929.java b/src/baekjoon/class2/BaekJoon1929.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1929.java rename to src/baekjoon/class2/BaekJoon1929.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1966.java b/src/baekjoon/class2/BaekJoon1966.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1966.java rename to src/baekjoon/class2/BaekJoon1966.java diff --git a/src/main/java/baekjoon/class2/BaekJoon1978.java b/src/baekjoon/class2/BaekJoon1978.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon1978.java rename to src/baekjoon/class2/BaekJoon1978.java diff --git a/src/main/java/baekjoon/class2/BaekJoon2108.java b/src/baekjoon/class2/BaekJoon2108.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon2108.java rename to src/baekjoon/class2/BaekJoon2108.java diff --git a/src/main/java/baekjoon/class2/BaekJoon2164.java b/src/baekjoon/class2/BaekJoon2164.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon2164.java rename to src/baekjoon/class2/BaekJoon2164.java diff --git a/src/main/java/baekjoon/class2/BaekJoon2231.java b/src/baekjoon/class2/BaekJoon2231.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon2231.java rename to src/baekjoon/class2/BaekJoon2231.java diff --git a/src/main/java/baekjoon/class2/BaekJoon2609.java b/src/baekjoon/class2/BaekJoon2609.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon2609.java rename to src/baekjoon/class2/BaekJoon2609.java diff --git a/src/main/java/baekjoon/class2/BaekJoon2775.java b/src/baekjoon/class2/BaekJoon2775.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon2775.java rename to src/baekjoon/class2/BaekJoon2775.java diff --git a/src/main/java/baekjoon/class2/BaekJoon2798.java b/src/baekjoon/class2/BaekJoon2798.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon2798.java rename to src/baekjoon/class2/BaekJoon2798.java diff --git a/src/main/java/baekjoon/class2/BaekJoon2839.java b/src/baekjoon/class2/BaekJoon2839.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon2839.java rename to src/baekjoon/class2/BaekJoon2839.java diff --git a/src/main/java/baekjoon/class2/BaekJoon2869.java b/src/baekjoon/class2/BaekJoon2869.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon2869.java rename to src/baekjoon/class2/BaekJoon2869.java diff --git a/src/main/java/baekjoon/class2/BaekJoon4949.java b/src/baekjoon/class2/BaekJoon4949.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon4949.java rename to src/baekjoon/class2/BaekJoon4949.java diff --git a/src/main/java/baekjoon/class2/BaekJoon7568.java b/src/baekjoon/class2/BaekJoon7568.java similarity index 100% rename from src/main/java/baekjoon/class2/BaekJoon7568.java rename to src/baekjoon/class2/BaekJoon7568.java diff --git a/src/main/java/baekjoon/class2/BeakJoon10773.java b/src/baekjoon/class2/BeakJoon10773.java similarity index 100% rename from src/main/java/baekjoon/class2/BeakJoon10773.java rename to src/baekjoon/class2/BeakJoon10773.java diff --git a/src/main/java/baekjoon/class2/BeakJoon2292.java b/src/baekjoon/class2/BeakJoon2292.java similarity index 100% rename from src/main/java/baekjoon/class2/BeakJoon2292.java rename to src/baekjoon/class2/BeakJoon2292.java diff --git a/src/main/java/baekjoon/class2/BeakJoon9012.java b/src/baekjoon/class2/BeakJoon9012.java similarity index 100% rename from src/main/java/baekjoon/class2/BeakJoon9012.java rename to src/baekjoon/class2/BeakJoon9012.java diff --git a/src/main/java/baekjoon/class3/BaekJoon10026.java b/src/baekjoon/class3/BaekJoon10026.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon10026.java rename to src/baekjoon/class3/BaekJoon10026.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1003.java b/src/baekjoon/class3/BaekJoon1003.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1003.java rename to src/baekjoon/class3/BaekJoon1003.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1012.java b/src/baekjoon/class3/BaekJoon1012.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1012.java rename to src/baekjoon/class3/BaekJoon1012.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1074.java b/src/baekjoon/class3/BaekJoon1074.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1074.java rename to src/baekjoon/class3/BaekJoon1074.java diff --git a/src/main/java/baekjoon/class3/BaekJoon11047.java b/src/baekjoon/class3/BaekJoon11047.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon11047.java rename to src/baekjoon/class3/BaekJoon11047.java diff --git a/src/main/java/baekjoon/class3/BaekJoon11279.java b/src/baekjoon/class3/BaekJoon11279.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon11279.java rename to src/baekjoon/class3/BaekJoon11279.java diff --git a/src/main/java/baekjoon/class3/BaekJoon11399.java b/src/baekjoon/class3/BaekJoon11399.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon11399.java rename to src/baekjoon/class3/BaekJoon11399.java diff --git a/src/main/java/baekjoon/class3/BaekJoon11403.java b/src/baekjoon/class3/BaekJoon11403.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon11403.java rename to src/baekjoon/class3/BaekJoon11403.java diff --git a/src/main/java/baekjoon/class3/BaekJoon11659.java b/src/baekjoon/class3/BaekJoon11659.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon11659.java rename to src/baekjoon/class3/BaekJoon11659.java diff --git a/src/main/java/baekjoon/class3/BaekJoon11723.java b/src/baekjoon/class3/BaekJoon11723.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon11723.java rename to src/baekjoon/class3/BaekJoon11723.java diff --git a/src/main/java/baekjoon/class3/BaekJoon11724.java b/src/baekjoon/class3/BaekJoon11724.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon11724.java rename to src/baekjoon/class3/BaekJoon11724.java diff --git a/src/main/java/baekjoon/class3/BaekJoon11726.java b/src/baekjoon/class3/BaekJoon11726.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon11726.java rename to src/baekjoon/class3/BaekJoon11726.java diff --git a/src/main/java/baekjoon/class3/BaekJoon11727.java b/src/baekjoon/class3/BaekJoon11727.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon11727.java rename to src/baekjoon/class3/BaekJoon11727.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1260.java b/src/baekjoon/class3/BaekJoon1260.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1260.java rename to src/baekjoon/class3/BaekJoon1260.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1389.java b/src/baekjoon/class3/BaekJoon1389.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1389.java rename to src/baekjoon/class3/BaekJoon1389.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1404.java b/src/baekjoon/class3/BaekJoon1404.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1404.java rename to src/baekjoon/class3/BaekJoon1404.java diff --git a/src/main/java/baekjoon/class3/BaekJoon14500.java b/src/baekjoon/class3/BaekJoon14500.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon14500.java rename to src/baekjoon/class3/BaekJoon14500.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1463.java b/src/baekjoon/class3/BaekJoon1463.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1463.java rename to src/baekjoon/class3/BaekJoon1463.java diff --git a/src/main/java/baekjoon/class3/BaekJoon14940.java b/src/baekjoon/class3/BaekJoon14940.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon14940.java rename to src/baekjoon/class3/BaekJoon14940.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1541.java b/src/baekjoon/class3/BaekJoon1541.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1541.java rename to src/baekjoon/class3/BaekJoon1541.java diff --git a/src/main/java/baekjoon/class3/BaekJoon15649.java b/src/baekjoon/class3/BaekJoon15649.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon15649.java rename to src/baekjoon/class3/BaekJoon15649.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1620.java b/src/baekjoon/class3/BaekJoon1620.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1620.java rename to src/baekjoon/class3/BaekJoon1620.java diff --git a/src/main/java/baekjoon/class3/BaekJoon16828.java b/src/baekjoon/class3/BaekJoon16828.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon16828.java rename to src/baekjoon/class3/BaekJoon16828.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1697.java b/src/baekjoon/class3/BaekJoon1697.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1697.java rename to src/baekjoon/class3/BaekJoon1697.java diff --git a/src/main/java/baekjoon/class3/BaekJoon17219.java b/src/baekjoon/class3/BaekJoon17219.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon17219.java rename to src/baekjoon/class3/BaekJoon17219.java diff --git a/src/main/java/baekjoon/class3/BaekJoon17626.java b/src/baekjoon/class3/BaekJoon17626.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon17626.java rename to src/baekjoon/class3/BaekJoon17626.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1764.java b/src/baekjoon/class3/BaekJoon1764.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1764.java rename to src/baekjoon/class3/BaekJoon1764.java diff --git a/src/main/java/baekjoon/class3/BaekJoon18870.java b/src/baekjoon/class3/BaekJoon18870.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon18870.java rename to src/baekjoon/class3/BaekJoon18870.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1927.java b/src/baekjoon/class3/BaekJoon1927.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1927.java rename to src/baekjoon/class3/BaekJoon1927.java diff --git a/src/main/java/baekjoon/class3/BaekJoon1931.java b/src/baekjoon/class3/BaekJoon1931.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon1931.java rename to src/baekjoon/class3/BaekJoon1931.java diff --git a/src/main/java/baekjoon/class3/BaekJoon20529.java b/src/baekjoon/class3/BaekJoon20529.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon20529.java rename to src/baekjoon/class3/BaekJoon20529.java diff --git a/src/main/java/baekjoon/class3/BaekJoon21736.java b/src/baekjoon/class3/BaekJoon21736.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon21736.java rename to src/baekjoon/class3/BaekJoon21736.java diff --git a/src/main/java/baekjoon/class3/BaekJoon2178.java b/src/baekjoon/class3/BaekJoon2178.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon2178.java rename to src/baekjoon/class3/BaekJoon2178.java diff --git a/src/main/java/baekjoon/class3/BaekJoon2579.java b/src/baekjoon/class3/BaekJoon2579.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon2579.java rename to src/baekjoon/class3/BaekJoon2579.java diff --git a/src/main/java/baekjoon/class3/BaekJoon2606.java b/src/baekjoon/class3/BaekJoon2606.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon2606.java rename to src/baekjoon/class3/BaekJoon2606.java diff --git a/src/main/java/baekjoon/class3/BaekJoon2630.java b/src/baekjoon/class3/BaekJoon2630.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon2630.java rename to src/baekjoon/class3/BaekJoon2630.java diff --git a/src/main/java/baekjoon/class3/BaekJoon2805.java b/src/baekjoon/class3/BaekJoon2805.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon2805.java rename to src/baekjoon/class3/BaekJoon2805.java diff --git a/src/main/java/baekjoon/class3/BaekJoon30804.java b/src/baekjoon/class3/BaekJoon30804.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon30804.java rename to src/baekjoon/class3/BaekJoon30804.java diff --git a/src/main/java/baekjoon/class3/BaekJoon5430.java b/src/baekjoon/class3/BaekJoon5430.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon5430.java rename to src/baekjoon/class3/BaekJoon5430.java diff --git a/src/main/java/baekjoon/class3/BaekJoon5525.java b/src/baekjoon/class3/BaekJoon5525.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon5525.java rename to src/baekjoon/class3/BaekJoon5525.java diff --git a/src/main/java/baekjoon/class3/BaekJoon6064.java b/src/baekjoon/class3/BaekJoon6064.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon6064.java rename to src/baekjoon/class3/BaekJoon6064.java diff --git a/src/main/java/baekjoon/class3/BaekJoon7569.java b/src/baekjoon/class3/BaekJoon7569.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon7569.java rename to src/baekjoon/class3/BaekJoon7569.java diff --git a/src/main/java/baekjoon/class3/BaekJoon7576.java b/src/baekjoon/class3/BaekJoon7576.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon7576.java rename to src/baekjoon/class3/BaekJoon7576.java diff --git a/src/main/java/baekjoon/class3/BaekJoon7662.java b/src/baekjoon/class3/BaekJoon7662.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon7662.java rename to src/baekjoon/class3/BaekJoon7662.java diff --git a/src/main/java/baekjoon/class3/BaekJoon9005.java b/src/baekjoon/class3/BaekJoon9005.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon9005.java rename to src/baekjoon/class3/BaekJoon9005.java diff --git a/src/main/java/baekjoon/class3/BaekJoon9019.java b/src/baekjoon/class3/BaekJoon9019.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon9019.java rename to src/baekjoon/class3/BaekJoon9019.java diff --git a/src/main/java/baekjoon/class3/BaekJoon9375.java b/src/baekjoon/class3/BaekJoon9375.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon9375.java rename to src/baekjoon/class3/BaekJoon9375.java diff --git a/src/main/java/baekjoon/class3/BaekJoon9461.java b/src/baekjoon/class3/BaekJoon9461.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoon9461.java rename to src/baekjoon/class3/BaekJoon9461.java diff --git a/src/main/java/baekjoon/class3/BaekJoont2630Two.java b/src/baekjoon/class3/BaekJoont2630Two.java similarity index 100% rename from src/main/java/baekjoon/class3/BaekJoont2630Two.java rename to src/baekjoon/class3/BaekJoont2630Two.java diff --git a/src/main/java/baekjoon/class3/BeakJoon11286.java b/src/baekjoon/class3/BeakJoon11286.java similarity index 100% rename from src/main/java/baekjoon/class3/BeakJoon11286.java rename to src/baekjoon/class3/BeakJoon11286.java diff --git a/src/main/java/baekjoon/class4/BaekJoon1043.java b/src/baekjoon/class4/BaekJoon1043.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon1043.java rename to src/baekjoon/class4/BaekJoon1043.java diff --git a/src/main/java/baekjoon/class4/BaekJoon11053.java b/src/baekjoon/class4/BaekJoon11053.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon11053.java rename to src/baekjoon/class4/BaekJoon11053.java diff --git a/src/main/java/baekjoon/class4/BaekJoon11404.java b/src/baekjoon/class4/BaekJoon11404.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon11404.java rename to src/baekjoon/class4/BaekJoon11404.java diff --git a/src/main/java/baekjoon/class4/BaekJoon11444.java b/src/baekjoon/class4/BaekJoon11444.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon11444.java rename to src/baekjoon/class4/BaekJoon11444.java diff --git a/src/main/java/baekjoon/class4/BaekJoon1149.java b/src/baekjoon/class4/BaekJoon1149.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon1149.java rename to src/baekjoon/class4/BaekJoon1149.java diff --git a/src/main/java/baekjoon/class4/BaekJoon11660.java b/src/baekjoon/class4/BaekJoon11660.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon11660.java rename to src/baekjoon/class4/BaekJoon11660.java diff --git a/src/main/java/baekjoon/class4/BaekJoon11725.java b/src/baekjoon/class4/BaekJoon11725.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon11725.java rename to src/baekjoon/class4/BaekJoon11725.java diff --git a/src/main/java/baekjoon/class4/BaekJoon1238.java b/src/baekjoon/class4/BaekJoon1238.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon1238.java rename to src/baekjoon/class4/BaekJoon1238.java diff --git a/src/main/java/baekjoon/class4/BaekJoon12865.java b/src/baekjoon/class4/BaekJoon12865.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon12865.java rename to src/baekjoon/class4/BaekJoon12865.java diff --git a/src/main/java/baekjoon/class4/BaekJoon13549.java b/src/baekjoon/class4/BaekJoon13549.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon13549.java rename to src/baekjoon/class4/BaekJoon13549.java diff --git a/src/main/java/baekjoon/class4/BaekJoon15650.java b/src/baekjoon/class4/BaekJoon15650.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon15650.java rename to src/baekjoon/class4/BaekJoon15650.java diff --git a/src/main/java/baekjoon/class4/BaekJoon15652.java b/src/baekjoon/class4/BaekJoon15652.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon15652.java rename to src/baekjoon/class4/BaekJoon15652.java diff --git a/src/main/java/baekjoon/class4/BaekJoon15654.java b/src/baekjoon/class4/BaekJoon15654.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon15654.java rename to src/baekjoon/class4/BaekJoon15654.java diff --git a/src/main/java/baekjoon/class4/BaekJoon15663.java b/src/baekjoon/class4/BaekJoon15663.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon15663.java rename to src/baekjoon/class4/BaekJoon15663.java diff --git a/src/main/java/baekjoon/class4/BaekJoon15666.java b/src/baekjoon/class4/BaekJoon15666.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon15666.java rename to src/baekjoon/class4/BaekJoon15666.java diff --git a/src/main/java/baekjoon/class4/BaekJoon16953.java b/src/baekjoon/class4/BaekJoon16953.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon16953.java rename to src/baekjoon/class4/BaekJoon16953.java diff --git a/src/main/java/baekjoon/class4/BaekJoon1753.java b/src/baekjoon/class4/BaekJoon1753.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon1753.java rename to src/baekjoon/class4/BaekJoon1753.java diff --git a/src/main/java/baekjoon/class4/BaekJoon1916.java b/src/baekjoon/class4/BaekJoon1916.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon1916.java rename to src/baekjoon/class4/BaekJoon1916.java diff --git a/src/baekjoon/class4/BaekJoon1918.java b/src/baekjoon/class4/BaekJoon1918.java new file mode 100644 index 0000000..794be74 --- /dev/null +++ b/src/baekjoon/class4/BaekJoon1918.java @@ -0,0 +1,71 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.HashMap; +import java.util.Map; +import java.util.Stack; +import java.util.StringTokenizer; + +public class BaekJoon1918 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public static void main(String[] args) throws IOException { + String input = br.readLine(); + + String[] token = input.split(""); + + Stack stack = new Stack<>(); + + StringBuilder sb = new StringBuilder(); + + + for(int i = 0 ; i < token.length;i++){ + char now = token[i].charAt(0); + if(Operation.isOperation(now)){ + if(now==')'){ + Character pop=stack.pop(); + while(!(pop=='(')){ + sb.append(pop); + } + } + else{ + stack.push(now); + } + }else{ + sb.append(now); + } + } + + + + + while(!stack.empty()) { + sb.append(stack.pop()); + } + System.out.print(sb); + } + + + private static class Operation{ + static Map operationLevel = new HashMap<>(); + + static { + operationLevel.put('+',1); + operationLevel.put('-',1); + operationLevel.put('*',2); + operationLevel.put('/',2); + operationLevel.put('(',3); + operationLevel.put(')',3); + } + + public static boolean isOperation(char ch){ + return operationLevel.containsKey(ch); + } + + public static boolean isOrder(char a, char b){ + return operationLevel.get(a) < operationLevel.get(b); + } + } +} diff --git a/src/main/java/baekjoon/class4/BaekJoon1932.java b/src/baekjoon/class4/BaekJoon1932.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon1932.java rename to src/baekjoon/class4/BaekJoon1932.java diff --git a/src/main/java/baekjoon/class4/BaekJoon1991.java b/src/baekjoon/class4/BaekJoon1991.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon1991.java rename to src/baekjoon/class4/BaekJoon1991.java diff --git a/src/main/java/baekjoon/class4/BaekJoon2096.java b/src/baekjoon/class4/BaekJoon2096.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon2096.java rename to src/baekjoon/class4/BaekJoon2096.java diff --git a/src/main/java/baekjoon/class4/BaekJoon2206.java b/src/baekjoon/class4/BaekJoon2206.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon2206.java rename to src/baekjoon/class4/BaekJoon2206.java diff --git a/src/main/java/baekjoon/class4/BaekJoon9251.java b/src/baekjoon/class4/BaekJoon9251.java similarity index 100% rename from src/main/java/baekjoon/class4/BaekJoon9251.java rename to src/baekjoon/class4/BaekJoon9251.java diff --git a/src/main/java/baekjoon/gold/BaekJoon14502.java b/src/baekjoon/gold/BaekJoon14502.java similarity index 100% rename from src/main/java/baekjoon/gold/BaekJoon14502.java rename to src/baekjoon/gold/BaekJoon14502.java diff --git a/src/main/java/baekjoon/gold/BaekJoon9663.java b/src/baekjoon/gold/BaekJoon9663.java similarity index 100% rename from src/main/java/baekjoon/gold/BaekJoon9663.java rename to src/baekjoon/gold/BaekJoon9663.java diff --git a/src/main/java/baekjoon/seed/BigIntegerOperatior.java b/src/baekjoon/seed/BigIntegerOperatior.java similarity index 100% rename from src/main/java/baekjoon/seed/BigIntegerOperatior.java rename to src/baekjoon/seed/BigIntegerOperatior.java diff --git a/src/main/java/baekjoon/seed/Rich.java b/src/baekjoon/seed/Rich.java similarity index 100% rename from src/main/java/baekjoon/seed/Rich.java rename to src/baekjoon/seed/Rich.java diff --git a/src/main/java/baekjoon/silver/BaekJonn19709.java b/src/baekjoon/silver/BaekJonn19709.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJonn19709.java rename to src/baekjoon/silver/BaekJonn19709.java diff --git a/src/main/java/baekjoon/silver/BaekJoon1010.java b/src/baekjoon/silver/BaekJoon1010.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon1010.java rename to src/baekjoon/silver/BaekJoon1010.java diff --git a/src/main/java/baekjoon/silver/BaekJoon1094.java b/src/baekjoon/silver/BaekJoon1094.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon1094.java rename to src/baekjoon/silver/BaekJoon1094.java diff --git a/src/main/java/baekjoon/silver/BaekJoon11123.java b/src/baekjoon/silver/BaekJoon11123.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon11123.java rename to src/baekjoon/silver/BaekJoon11123.java diff --git a/src/main/java/baekjoon/silver/BaekJoon11675.java b/src/baekjoon/silver/BaekJoon11675.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon11675.java rename to src/baekjoon/silver/BaekJoon11675.java diff --git a/src/main/java/baekjoon/silver/BaekJoon1193.java b/src/baekjoon/silver/BaekJoon1193.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon1193.java rename to src/baekjoon/silver/BaekJoon1193.java diff --git a/src/main/java/baekjoon/silver/BaekJoon1268.java b/src/baekjoon/silver/BaekJoon1268.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon1268.java rename to src/baekjoon/silver/BaekJoon1268.java diff --git a/src/main/java/baekjoon/silver/BaekJoon1312.java b/src/baekjoon/silver/BaekJoon1312.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon1312.java rename to src/baekjoon/silver/BaekJoon1312.java diff --git a/src/main/java/baekjoon/silver/BaekJoon1316.java b/src/baekjoon/silver/BaekJoon1316.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon1316.java rename to src/baekjoon/silver/BaekJoon1316.java diff --git a/src/main/java/baekjoon/silver/BaekJoon13172.java b/src/baekjoon/silver/BaekJoon13172.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon13172.java rename to src/baekjoon/silver/BaekJoon13172.java diff --git a/src/main/java/baekjoon/silver/BaekJoon13414.java b/src/baekjoon/silver/BaekJoon13414.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon13414.java rename to src/baekjoon/silver/BaekJoon13414.java diff --git a/src/main/java/baekjoon/silver/BaekJoon13909.java b/src/baekjoon/silver/BaekJoon13909.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon13909.java rename to src/baekjoon/silver/BaekJoon13909.java diff --git a/src/main/java/baekjoon/silver/BaekJoon1475.java b/src/baekjoon/silver/BaekJoon1475.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon1475.java rename to src/baekjoon/silver/BaekJoon1475.java diff --git a/src/main/java/baekjoon/silver/BaekJoon15779.java b/src/baekjoon/silver/BaekJoon15779.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon15779.java rename to src/baekjoon/silver/BaekJoon15779.java diff --git a/src/main/java/baekjoon/silver/BaekJoon16208.java b/src/baekjoon/silver/BaekJoon16208.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon16208.java rename to src/baekjoon/silver/BaekJoon16208.java diff --git a/src/main/java/baekjoon/silver/BaekJoon1629.java b/src/baekjoon/silver/BaekJoon1629.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon1629.java rename to src/baekjoon/silver/BaekJoon1629.java diff --git a/src/main/java/baekjoon/silver/BaekJoon17127.java b/src/baekjoon/silver/BaekJoon17127.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon17127.java rename to src/baekjoon/silver/BaekJoon17127.java diff --git a/src/main/java/baekjoon/silver/BaekJoon24173.java b/src/baekjoon/silver/BaekJoon24173.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon24173.java rename to src/baekjoon/silver/BaekJoon24173.java diff --git a/src/main/java/baekjoon/silver/BaekJoon24755.java b/src/baekjoon/silver/BaekJoon24755.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon24755.java rename to src/baekjoon/silver/BaekJoon24755.java diff --git a/src/main/java/baekjoon/silver/BaekJoon2667.java b/src/baekjoon/silver/BaekJoon2667.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon2667.java rename to src/baekjoon/silver/BaekJoon2667.java diff --git a/src/main/java/baekjoon/silver/BaekJoon26876.java b/src/baekjoon/silver/BaekJoon26876.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon26876.java rename to src/baekjoon/silver/BaekJoon26876.java diff --git a/src/main/java/baekjoon/silver/BaekJoon31575.java b/src/baekjoon/silver/BaekJoon31575.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon31575.java rename to src/baekjoon/silver/BaekJoon31575.java diff --git a/src/main/java/baekjoon/silver/BaekJoon8975.java b/src/baekjoon/silver/BaekJoon8975.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon8975.java rename to src/baekjoon/silver/BaekJoon8975.java diff --git a/src/main/java/baekjoon/silver/BaekJoon9372.java b/src/baekjoon/silver/BaekJoon9372.java similarity index 100% rename from src/main/java/baekjoon/silver/BaekJoon9372.java rename to src/baekjoon/silver/BaekJoon9372.java diff --git a/src/main/java/basic/baaarking/sum100.java b/src/basic/baaarking/sum100.java similarity index 100% rename from src/main/java/basic/baaarking/sum100.java rename to src/basic/baaarking/sum100.java diff --git a/src/main/java/basic/bfs/BFS.java b/src/basic/bfs/BFS.java similarity index 100% rename from src/main/java/basic/bfs/BFS.java rename to src/basic/bfs/BFS.java diff --git a/src/main/java/basic/datastructure/Base.java b/src/basic/datastructure/Base.java similarity index 100% rename from src/main/java/basic/datastructure/Base.java rename to src/basic/datastructure/Base.java diff --git a/src/main/java/basic/datastructure/list/AbstractList.java b/src/basic/datastructure/list/AbstractList.java similarity index 100% rename from src/main/java/basic/datastructure/list/AbstractList.java rename to src/basic/datastructure/list/AbstractList.java diff --git a/src/main/java/basic/datastructure/list/ArrayList.java b/src/basic/datastructure/list/ArrayList.java similarity index 100% rename from src/main/java/basic/datastructure/list/ArrayList.java rename to src/basic/datastructure/list/ArrayList.java diff --git a/src/main/java/basic/datastructure/list/LinkedList.java b/src/basic/datastructure/list/LinkedList.java similarity index 100% rename from src/main/java/basic/datastructure/list/LinkedList.java rename to src/basic/datastructure/list/LinkedList.java diff --git a/src/main/java/basic/datastructure/list/List.java b/src/basic/datastructure/list/List.java similarity index 100% rename from src/main/java/basic/datastructure/list/List.java rename to src/basic/datastructure/list/List.java diff --git a/src/main/java/basic/practice/problem3_1.java b/src/basic/practice/problem3_1.java similarity index 100% rename from src/main/java/basic/practice/problem3_1.java rename to src/basic/practice/problem3_1.java diff --git a/src/main/java/basic/sort/ArrayGenerator.java b/src/basic/sort/ArrayGenerator.java similarity index 100% rename from src/main/java/basic/sort/ArrayGenerator.java rename to src/basic/sort/ArrayGenerator.java diff --git a/src/main/java/basic/sort/Sort.java b/src/basic/sort/Sort.java similarity index 100% rename from src/main/java/basic/sort/Sort.java rename to src/basic/sort/Sort.java diff --git a/src/main/java/basic/sort/SortMain.java b/src/basic/sort/SortMain.java similarity index 100% rename from src/main/java/basic/sort/SortMain.java rename to src/basic/sort/SortMain.java diff --git a/src/main/java/basic/sort/impl/Bubble.java b/src/basic/sort/impl/Bubble.java similarity index 100% rename from src/main/java/basic/sort/impl/Bubble.java rename to src/basic/sort/impl/Bubble.java diff --git a/src/main/java/basic/sort/impl/Insert.java b/src/basic/sort/impl/Insert.java similarity index 100% rename from src/main/java/basic/sort/impl/Insert.java rename to src/basic/sort/impl/Insert.java diff --git a/src/main/java/basic/sort/impl/Merge.java b/src/basic/sort/impl/Merge.java similarity index 100% rename from src/main/java/basic/sort/impl/Merge.java rename to src/basic/sort/impl/Merge.java diff --git a/src/main/java/basic/sort/impl/Quick.java b/src/basic/sort/impl/Quick.java similarity index 100% rename from src/main/java/basic/sort/impl/Quick.java rename to src/basic/sort/impl/Quick.java diff --git a/src/main/java/basic/sort/impl/Select.java b/src/basic/sort/impl/Select.java similarity index 100% rename from src/main/java/basic/sort/impl/Select.java rename to src/basic/sort/impl/Select.java diff --git a/src/main/java/basic/star/Star1.java b/src/basic/star/Star1.java similarity index 100% rename from src/main/java/basic/star/Star1.java rename to src/basic/star/Star1.java diff --git a/src/main/java/basic/star/Star2.java b/src/basic/star/Star2.java similarity index 100% rename from src/main/java/basic/star/Star2.java rename to src/basic/star/Star2.java diff --git a/src/main/java/basic/star/Star3.java b/src/basic/star/Star3.java similarity index 100% rename from src/main/java/basic/star/Star3.java rename to src/basic/star/Star3.java diff --git a/src/main/java/basic/star/Star4.java b/src/basic/star/Star4.java similarity index 100% rename from src/main/java/basic/star/Star4.java rename to src/basic/star/Star4.java diff --git a/src/main/java/basic/star/Star5.java b/src/basic/star/Star5.java similarity index 100% rename from src/main/java/basic/star/Star5.java rename to src/basic/star/Star5.java diff --git a/src/main/java/basic/star/Star5_2.java b/src/basic/star/Star5_2.java similarity index 100% rename from src/main/java/basic/star/Star5_2.java rename to src/basic/star/Star5_2.java diff --git a/src/main/java/basic/star/Star5_3.java b/src/basic/star/Star5_3.java similarity index 100% rename from src/main/java/basic/star/Star5_3.java rename to src/basic/star/Star5_3.java diff --git a/src/main/java/basic/star/Star5_3_2.java b/src/basic/star/Star5_3_2.java similarity index 100% rename from src/main/java/basic/star/Star5_3_2.java rename to src/basic/star/Star5_3_2.java diff --git a/src/main/java/basic/star/Star6.java b/src/basic/star/Star6.java similarity index 100% rename from src/main/java/basic/star/Star6.java rename to src/basic/star/Star6.java diff --git a/src/main/java/basic/star/Star7.java b/src/basic/star/Star7.java similarity index 100% rename from src/main/java/basic/star/Star7.java rename to src/basic/star/Star7.java diff --git a/src/main/java/basic/star/Star8.java b/src/basic/star/Star8.java similarity index 100% rename from src/main/java/basic/star/Star8.java rename to src/basic/star/Star8.java diff --git a/src/main/java/basic/star/Star9.java b/src/basic/star/Star9.java similarity index 100% rename from src/main/java/basic/star/Star9.java rename to src/basic/star/Star9.java diff --git a/src/main/java/basic/star/StarInterface.java b/src/basic/star/StarInterface.java similarity index 100% rename from src/main/java/basic/star/StarInterface.java rename to src/basic/star/StarInterface.java diff --git a/src/main/java/basic/star/StarMain.java b/src/basic/star/StarMain.java similarity index 100% rename from src/main/java/basic/star/StarMain.java rename to src/basic/star/StarMain.java diff --git a/src/main/java/basic/star/StarUbin5_2.java b/src/basic/star/StarUbin5_2.java similarity index 100% rename from src/main/java/basic/star/StarUbin5_2.java rename to src/basic/star/StarUbin5_2.java diff --git a/src/main/java/basic/star/StartUbin5_2_2.java b/src/basic/star/StartUbin5_2_2.java similarity index 100% rename from src/main/java/basic/star/StartUbin5_2_2.java rename to src/basic/star/StartUbin5_2_2.java diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index b4c5baa..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -a.a = 123 \ No newline at end of file diff --git a/src/main/java/git/mergeTest/ShareModify.java b/src/mergeTest/ShareModify.java similarity index 100% rename from src/main/java/git/mergeTest/ShareModify.java rename to src/mergeTest/ShareModify.java diff --git a/src/main/java/git/mergeTest/merge1modify.java b/src/mergeTest/merge1modify.java similarity index 100% rename from src/main/java/git/mergeTest/merge1modify.java rename to src/mergeTest/merge1modify.java diff --git a/src/main/java/git/mergeTest/merge2modify.java b/src/mergeTest/merge2modify.java similarity index 100% rename from src/main/java/git/mergeTest/merge2modify.java rename to src/mergeTest/merge2modify.java diff --git a/src/test/java/alogorithm/baekjoon/BaekJoonTest.java b/src/test/java/alogorithm/baekjoon/BaekJoonTest.java deleted file mode 100644 index cc99590..0000000 --- a/src/test/java/alogorithm/baekjoon/BaekJoonTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package alogorithm.baekjoon; - -import basic.bfs.BFS; -import org.junit.jupiter.api.Test; - -public class BaekJoonTest { - - @Test - public void testBFS(){ - BFS bfs = new BFS(); - - } -} diff --git a/src/test/java/datastructure/list/ArrayListTest.java b/src/test/java/datastructure/list/ArrayListTest.java deleted file mode 100644 index 42406b2..0000000 --- a/src/test/java/datastructure/list/ArrayListTest.java +++ /dev/null @@ -1,79 +0,0 @@ -package datastructure.list; - -import basic.datastructure.list.ArrayList; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; - -public class ArrayListTest { - - @Test - public void 기본_Size_체트(){ - ArrayList list = new ArrayList<>(); - - Assertions.assertEquals(0,list.getSize()); - } - - @Test - public void testAddAndGet() { - ArrayList list = new ArrayList<>(); - list.add("apple"); - list.add("banana"); - - assertEquals(2, list.getSize()); - assertEquals("apple", list.get(0)); - assertEquals("banana", list.get(1)); - } - - @Test - public void testInsert() { - ArrayList list = new ArrayList<>(); - list.add("a"); - list.add("c"); - list.insert("b", 1); - - assertEquals("b", list.get(1)); - assertEquals(3, list.getSize()); - } - - @Test - public void testRemove() { - ArrayList list = new ArrayList<>(); - list.add("x"); - list.add("y"); - list.add("z"); - - list.remove("y"); - assertEquals(2, list.getSize()); - assertEquals("z", list.get(1)); - } - - @Test - public void testClear(){ - ArrayList list = new ArrayList<>(); - - list.add("x"); - list.add("y"); - list.add("z"); - - list.clear(); - - assertEquals(0,list.getSize()); - } - - @Test - public void testOutOfBounds(){ - ArrayList list = new ArrayList<>(); - - list.add("x"); - - assertThrows(ArrayIndexOutOfBoundsException.class,()->list.get(10)); - } - - @Test - public void testRejectNull(){ - ArrayList list = new ArrayList<>(); - - assertThrows(IllegalArgumentException.class,()->list.add(null)); - } -} diff --git a/src/test/java/datastrycture/list/ArrayListTest.java b/src/test/java/datastrycture/list/ArrayListTest.java deleted file mode 100644 index 98d1fd9..0000000 --- a/src/test/java/datastrycture/list/ArrayListTest.java +++ /dev/null @@ -1,79 +0,0 @@ -package datastrycture.list; - -import basic.datastructure.list.ArrayList; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; - -public class ArrayListTest { - - @Test - public void 기본_Size_체트(){ - ArrayList list = new ArrayList<>(); - - Assertions.assertEquals(0,list.getSize()); - } - - @Test - public void testAddAndGet() { - ArrayList list = new ArrayList<>(); - list.add("apple"); - list.add("banana"); - - assertEquals(2, list.getSize()); - assertEquals("apple", list.get(0)); - assertEquals("banana", list.get(1)); - } - - @Test - public void testInsert() { - ArrayList list = new ArrayList<>(); - list.add("a"); - list.add("c"); - list.insert("b", 1); - - assertEquals("b", list.get(1)); - assertEquals(3, list.getSize()); - } - - @Test - public void testRemove() { - ArrayList list = new ArrayList<>(); - list.add("x"); - list.add("y"); - list.add("z"); - - list.remove("y"); - assertEquals(2, list.getSize()); - assertEquals("z", list.get(1)); - } - - @Test - public void testClear(){ - ArrayList list = new ArrayList<>(); - - list.add("x"); - list.add("y"); - list.add("z"); - - list.clear(); - - assertEquals(0,list.getSize()); - } - - @Test - public void testOutOfBounds(){ - ArrayList list = new ArrayList<>(); - - list.add("x"); - - assertThrows(ArrayIndexOutOfBoundsException.class,()->list.get(10)); - } - - @Test - public void testRejectNull(){ - ArrayList list = new ArrayList<>(); - - assertThrows(IllegalArgumentException.class,()->list.add(null)); - } -} diff --git a/src/test/java/datastrycture/list/LinkedListTest.java b/src/test/java/datastrycture/list/LinkedListTest.java deleted file mode 100644 index e5f7a15..0000000 --- a/src/test/java/datastrycture/list/LinkedListTest.java +++ /dev/null @@ -1,132 +0,0 @@ -package datastrycture.list; - - -import basic.datastructure.list.LinkedList; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.*; - -class LinkedListTest { - - private LinkedList list; - - @BeforeEach - void setUp() { - list = new LinkedList<>(); - } - - @Test - void testAddAndGet() { - list.add("A"); - list.add("B"); - list.add("C"); - - assertEquals(3, list.getSize()); - assertEquals("A", list.get(0)); - assertEquals("B", list.get(1)); - assertEquals("C", list.get(2)); - } - - @Test - void testInsert() { - list.add("A"); - list.add("C"); - list.insert("B", 1); - - assertEquals(3, list.getSize()); - assertEquals("A", list.get(0)); - assertEquals("B", list.get(1)); - assertEquals("C", list.get(2)); - } - - @Test - void testUpdate() { - list.add("A"); - list.update(0, "Z"); - - assertEquals("Z", list.get(0)); - } - - @Test - void testDelete() { - list.add("A"); - list.add("B"); - list.delete(0); - - assertEquals(1, list.getSize()); - assertEquals("B", list.get(0)); - } - - @Test - void testRemove() { - list.add("A"); - list.add("B"); - list.add("A"); - - list.remove("A"); - - assertEquals(2, list.getSize()); - assertEquals("B", list.get(0)); - assertEquals("A", list.get(1)); - } - - @Test - void testRemoveAll() { - list.add("A"); - list.add("B"); - list.add("A"); - - int removed = list.removeAll("A"); - - assertEquals(2, removed); - assertEquals(1, list.getSize()); - assertEquals("B", list.get(0)); - } - - @Test - void testContains() { - list.add("A"); - list.add("B"); - - assertTrue(list.contains("A")); - assertFalse(list.contains("C")); - } - - @Test - void testFindFirstIndex() { - list.add("X"); - list.add("Y"); - list.add("X"); - - assertEquals(0, list.findFirstIndex("X")); - assertEquals(1, list.findFirstIndex("Y")); - assertEquals(-1, list.findFirstIndex("Z")); - } - - @Test - void testAddAll() { - LinkedList another = new LinkedList<>(); - another.add("A"); - another.add("B"); - - list.add("X"); - list.addAll(another); - - assertEquals(3, list.getSize()); - assertEquals("X", list.get(0)); - assertEquals("A", list.get(1)); - assertEquals("B", list.get(2)); - } - - @Test - void testClear() { - list.add("A"); - list.add("B"); - - list.clear(); - - assertEquals(0, list.getSize()); - assertFalse(list.contains("A")); - } -} \ No newline at end of file From 7011b017b37a6d3b34694d8a993159d6f54ebf70 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 14 Aug 2025 16:41:03 +0900 Subject: [PATCH 003/115] =?UTF-8?q?[1918]=20=ED=9B=84=EC=9C=84=20=ED=91=9C?= =?UTF-8?q?=EA=B8=B0=EC=8B=9D=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1918.java | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/baekjoon/class4/BaekJoon1918.java b/src/baekjoon/class4/BaekJoon1918.java index 794be74..c28a60a 100644 --- a/src/baekjoon/class4/BaekJoon1918.java +++ b/src/baekjoon/class4/BaekJoon1918.java @@ -14,7 +14,7 @@ public class BaekJoon1918 { public static void main(String[] args) throws IOException { String input = br.readLine(); - String[] token = input.split(""); + char[] token = input.toCharArray(); Stack stack = new Stack<>(); @@ -22,25 +22,30 @@ public static void main(String[] args) throws IOException { for(int i = 0 ; i < token.length;i++){ - char now = token[i].charAt(0); + char now = token[i]; if(Operation.isOperation(now)){ - if(now==')'){ + if(now=='(') stack.push(now); + else if(now==')'){ Character pop=stack.pop(); while(!(pop=='(')){ sb.append(pop); + pop =stack.pop(); } } else{ - stack.push(now); + if(stack.empty()) + stack.push(now); + else{ + while(!stack.empty()&&Operation.isOrder(now,stack.peek())){ + sb.append(stack.pop()); + } + stack.push(now); + } } }else{ sb.append(now); } } - - - - while(!stack.empty()) { sb.append(stack.pop()); } @@ -56,8 +61,8 @@ private static class Operation{ operationLevel.put('-',1); operationLevel.put('*',2); operationLevel.put('/',2); - operationLevel.put('(',3); - operationLevel.put(')',3); + operationLevel.put('(',0); + operationLevel.put(')',0); } public static boolean isOperation(char ch){ @@ -65,7 +70,7 @@ public static boolean isOperation(char ch){ } public static boolean isOrder(char a, char b){ - return operationLevel.get(a) < operationLevel.get(b); + return operationLevel.get(a) <= operationLevel.get(b); } } } From 2cfb18c17ac3629adb75d405b340b3ddc9c0a419 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 14 Aug 2025 16:42:03 +0900 Subject: [PATCH 004/115] =?UTF-8?q?[1918]=20=ED=9B=84=EC=9C=84=20=ED=91=9C?= =?UTF-8?q?=EA=B8=B0=EC=8B=9D=20=ED=96=A5=EC=83=81=EB=90=9C=20for=EB=AC=B8?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1918.java | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/src/baekjoon/class4/BaekJoon1918.java b/src/baekjoon/class4/BaekJoon1918.java index c28a60a..c46a66c 100644 --- a/src/baekjoon/class4/BaekJoon1918.java +++ b/src/baekjoon/class4/BaekJoon1918.java @@ -10,7 +10,6 @@ public class BaekJoon1918 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); - public static void main(String[] args) throws IOException { String input = br.readLine(); @@ -21,28 +20,26 @@ public static void main(String[] args) throws IOException { StringBuilder sb = new StringBuilder(); - for(int i = 0 ; i < token.length;i++){ - char now = token[i]; - if(Operation.isOperation(now)){ - if(now=='(') stack.push(now); - else if(now==')'){ - Character pop=stack.pop(); - while(!(pop=='(')){ + for (char now : token) { + if (Operation.isOperation(now)) { + if (now == '(') stack.push(now); + else if (now == ')') { + Character pop = stack.pop(); + while (!(pop == '(')) { sb.append(pop); - pop =stack.pop(); + pop = stack.pop(); } - } - else{ - if(stack.empty()) + } else { + if (stack.empty()) stack.push(now); - else{ - while(!stack.empty()&&Operation.isOrder(now,stack.peek())){ + else { + while (!stack.empty() && Operation.isOrder(now, stack.peek())) { sb.append(stack.pop()); } stack.push(now); } } - }else{ + } else { sb.append(now); } } From 90e8977a3e52f11507cea6b568299da2a4e63505 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 14 Aug 2025 16:45:16 +0900 Subject: [PATCH 005/115] =?UTF-8?q?[1918]=20pop=20=EB=B3=80=EC=88=98?= =?UTF-8?q?=EB=A5=BC=20=EB=B3=B4=EB=8B=A4=20=EB=AA=85=ED=99=95=ED=95=9C=20?= =?UTF-8?q?=EC=9D=98=EB=AF=B8=EC=9D=98=20top=EC=9C=BC=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1918.java | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/baekjoon/class4/BaekJoon1918.java b/src/baekjoon/class4/BaekJoon1918.java index c46a66c..fe1346c 100644 --- a/src/baekjoon/class4/BaekJoon1918.java +++ b/src/baekjoon/class4/BaekJoon1918.java @@ -11,23 +11,28 @@ public class BaekJoon1918 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); public static void main(String[] args) throws IOException { + //평범한 식 입력 String input = br.readLine(); - + //식을 한글자씩 나누기 char[] token = input.toCharArray(); - + //연산자를 저장할 Stack 생성 Stack stack = new Stack<>(); - + //결과 출력 변수 생성 StringBuilder sb = new StringBuilder(); - - + //한글자씩 검증 시작 for (char now : token) { + //연산자의 경우 if (Operation.isOperation(now)) { + //'(' 일경우 그냥 push'('이후에 쌓이는 것들이 ')'을 만났을 때 pop 될 구분점" if (now == '(') stack.push(now); + //')'의 경우 ( 보다 늦게 쌓인 것들을 pop else if (now == ')') { - Character pop = stack.pop(); - while (!(pop == '(')) { - sb.append(pop); - pop = stack.pop(); + //우선 stack의 top을 pop + Character top = stack.pop(); + //stack + while (!(top == '(')) { + sb.append(top); + top = stack.pop(); } } else { if (stack.empty()) From b1952017a9e4d89bf6e837e79d55d1daadadf74c Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 14 Aug 2025 16:52:09 +0900 Subject: [PATCH 006/115] =?UTF-8?q?[1918]=20=ED=9B=84=EC=9C=84=20=ED=91=9C?= =?UTF-8?q?=EA=B8=B0=EC=8B=9D=20=EC=A3=BC=EC=84=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1918.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/baekjoon/class4/BaekJoon1918.java b/src/baekjoon/class4/BaekJoon1918.java index fe1346c..19f3615 100644 --- a/src/baekjoon/class4/BaekJoon1918.java +++ b/src/baekjoon/class4/BaekJoon1918.java @@ -29,32 +29,45 @@ public static void main(String[] args) throws IOException { else if (now == ')') { //우선 stack의 top을 pop Character top = stack.pop(); - //stack + //stack의 top이 '(' 가 나올 때까지 반복 while (!(top == '(')) { + // pop 된 top의 경우 결과에 출력 sb.append(top); + // '('는 출력되지 않도록 출력 이후에 pop top = stack.pop(); } + // '(' 도 ')' 도 아닌 경우 } else { + //stack이 비었으면 뭐든 상관 없이 push if (stack.empty()) stack.push(now); else { + //stack이 비지 않았으면 자신보다 레벨이 같거나 높은 op를 모두 pop + // + 보다 레벨이 높은 *, /, 레벨이 같은 + - 모두 pop while (!stack.empty() && Operation.isOrder(now, stack.peek())) { sb.append(stack.pop()); } + // 모두 pop을 한 뒤 now를 push stack.push(now); } } + // 피연산인 경우 바로 출력 } else { sb.append(now); } } + + // 입력에 대한 처리가 끝난 이후 stack을 비워줌 while(!stack.empty()) { sb.append(stack.pop()); } + + //결과 출력 System.out.print(sb); } + //연산자에 대한 정보를 처리 private static class Operation{ static Map operationLevel = new HashMap<>(); @@ -67,10 +80,14 @@ private static class Operation{ operationLevel.put(')',0); } + //특정 Char가 Operation 인지 피연산자인지 구분 public static boolean isOperation(char ch){ return operationLevel.containsKey(ch); } + //연산자끼리의 비교에서 레벨 수준 비교 + //pop 해야하는 경우 어디까지 pop을 할지 정하게 됨 + //pop하는 기준은 자기 보다 우선순위가 높거나 같은 경우 까지. public static boolean isOrder(char a, char b){ return operationLevel.get(a) <= operationLevel.get(b); } From bf25b893b3b8a4713d90ef32c0e4f49497c04584 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 14 Aug 2025 17:12:30 +0900 Subject: [PATCH 007/115] =?UTF-8?q?[REFACTOR]=20gradle=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/{main/java => }/basic/algorithm/AbstractTreeAlogorithm.java | 0 src/{main/java => }/basic/algorithm/BFS.java | 0 src/{main/java => }/basic/algorithm/DFS.java | 0 src/{main/java => }/basic/algorithm/Order.java | 0 src/{main/java => }/basic/datastructure/map/AbstractMap.java | 0 src/{main/java => }/basic/datastructure/map/HashMap.java | 0 src/{main/java => }/basic/datastructure/map/ListMap.java | 0 src/{main/java => }/basic/datastructure/map/Map.java | 0 ...\203\201\354\236\220\352\272\274\353\202\264\352\270\260.java" | 0 src/{main/java => }/programmers/lv1/sql/select_big_fish.sql | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename src/{main/java => }/basic/algorithm/AbstractTreeAlogorithm.java (100%) rename src/{main/java => }/basic/algorithm/BFS.java (100%) rename src/{main/java => }/basic/algorithm/DFS.java (100%) rename src/{main/java => }/basic/algorithm/Order.java (100%) rename src/{main/java => }/basic/datastructure/map/AbstractMap.java (100%) rename src/{main/java => }/basic/datastructure/map/HashMap.java (100%) rename src/{main/java => }/basic/datastructure/map/ListMap.java (100%) rename src/{main/java => }/basic/datastructure/map/Map.java (100%) rename "src/main/java/programmers/lv1/algorithm/\355\203\235\353\260\260\354\203\201\354\236\220\352\272\274\353\202\264\352\270\260.java" => "src/programmers/lv1/algorithm/\355\203\235\353\260\260\354\203\201\354\236\220\352\272\274\353\202\264\352\270\260.java" (100%) rename src/{main/java => }/programmers/lv1/sql/select_big_fish.sql (100%) diff --git a/src/main/java/basic/algorithm/AbstractTreeAlogorithm.java b/src/basic/algorithm/AbstractTreeAlogorithm.java similarity index 100% rename from src/main/java/basic/algorithm/AbstractTreeAlogorithm.java rename to src/basic/algorithm/AbstractTreeAlogorithm.java diff --git a/src/main/java/basic/algorithm/BFS.java b/src/basic/algorithm/BFS.java similarity index 100% rename from src/main/java/basic/algorithm/BFS.java rename to src/basic/algorithm/BFS.java diff --git a/src/main/java/basic/algorithm/DFS.java b/src/basic/algorithm/DFS.java similarity index 100% rename from src/main/java/basic/algorithm/DFS.java rename to src/basic/algorithm/DFS.java diff --git a/src/main/java/basic/algorithm/Order.java b/src/basic/algorithm/Order.java similarity index 100% rename from src/main/java/basic/algorithm/Order.java rename to src/basic/algorithm/Order.java diff --git a/src/main/java/basic/datastructure/map/AbstractMap.java b/src/basic/datastructure/map/AbstractMap.java similarity index 100% rename from src/main/java/basic/datastructure/map/AbstractMap.java rename to src/basic/datastructure/map/AbstractMap.java diff --git a/src/main/java/basic/datastructure/map/HashMap.java b/src/basic/datastructure/map/HashMap.java similarity index 100% rename from src/main/java/basic/datastructure/map/HashMap.java rename to src/basic/datastructure/map/HashMap.java diff --git a/src/main/java/basic/datastructure/map/ListMap.java b/src/basic/datastructure/map/ListMap.java similarity index 100% rename from src/main/java/basic/datastructure/map/ListMap.java rename to src/basic/datastructure/map/ListMap.java diff --git a/src/main/java/basic/datastructure/map/Map.java b/src/basic/datastructure/map/Map.java similarity index 100% rename from src/main/java/basic/datastructure/map/Map.java rename to src/basic/datastructure/map/Map.java diff --git "a/src/main/java/programmers/lv1/algorithm/\355\203\235\353\260\260\354\203\201\354\236\220\352\272\274\353\202\264\352\270\260.java" "b/src/programmers/lv1/algorithm/\355\203\235\353\260\260\354\203\201\354\236\220\352\272\274\353\202\264\352\270\260.java" similarity index 100% rename from "src/main/java/programmers/lv1/algorithm/\355\203\235\353\260\260\354\203\201\354\236\220\352\272\274\353\202\264\352\270\260.java" rename to "src/programmers/lv1/algorithm/\355\203\235\353\260\260\354\203\201\354\236\220\352\272\274\353\202\264\352\270\260.java" diff --git a/src/main/java/programmers/lv1/sql/select_big_fish.sql b/src/programmers/lv1/sql/select_big_fish.sql similarity index 100% rename from src/main/java/programmers/lv1/sql/select_big_fish.sql rename to src/programmers/lv1/sql/select_big_fish.sql From 63b102f8df8b658d4f05fec7a6eb5434d58491a3 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 14 Aug 2025 18:08:36 +0900 Subject: [PATCH 008/115] =?UTF-8?q?[FIX]=20class=20=EC=B0=BE=EC=A7=80=20?= =?UTF-8?q?=EB=AA=BB=ED=95=98=EB=8D=98=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/algorithm.iml => algorithm.iml | 2 +- src/baekjoon/class4/BaekJoon1918.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) rename src/algorithm.iml => algorithm.iml (82%) diff --git a/src/algorithm.iml b/algorithm.iml similarity index 82% rename from src/algorithm.iml rename to algorithm.iml index b107a2d..c90834f 100644 --- a/src/algorithm.iml +++ b/algorithm.iml @@ -3,7 +3,7 @@ - + diff --git a/src/baekjoon/class4/BaekJoon1918.java b/src/baekjoon/class4/BaekJoon1918.java index 19f3615..10a7055 100644 --- a/src/baekjoon/class4/BaekJoon1918.java +++ b/src/baekjoon/class4/BaekJoon1918.java @@ -6,7 +6,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Stack; -import java.util.StringTokenizer; public class BaekJoon1918 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); From 6d7be7e2afa0cd93e23b4be4913a1ed33b72bc1e Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 15 Aug 2025 15:51:00 +0900 Subject: [PATCH 009/115] =?UTF-8?q?[1967]=20=ED=8A=B8=EB=A6=AC=EC=9D=98=20?= =?UTF-8?q?=EC=A7=80=EB=A6=84=20gold4=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1967.java | 136 ++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon1967.java diff --git a/src/baekjoon/class4/BaekJoon1967.java b/src/baekjoon/class4/BaekJoon1967.java new file mode 100644 index 0000000..17eb988 --- /dev/null +++ b/src/baekjoon/class4/BaekJoon1967.java @@ -0,0 +1,136 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.*; + +public class BaekJoon1967 { + /* + 트리의 지름 찾기. + 트리에서 가장 가중치 합이 큰 경로 찾기 + + 특정 노드에서 다른 모든 노드 중 가장 큰 가중치. + + 근데 사실 리프 노드에서 다른 리프 노드까지의 길이만 측정해도 충분. + + 리프 노드들에서 다른 모든 리프 노드 까지의 가중치를 구하는 것은 결국 + 모든 노드까지의 거리를 구하는 것이니. + + 특정 리프노드에서 다이제스트라 알고리즘을 실행하며 가장 큰 가중치를 확인하게끔. + */ + + //입력기 + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + + //Node간의 연결 표시 + //num이 key인 Node에 연결된 Node들의 집합. + static Map> graph = new HashMap<>(); + + public static void main(String[] args) throws IOException { + //node의 개수 + int n = Integer.parseInt(br.readLine()); + + init(n); + + input(n); + + int result = searchResult(n); + + System.out.print(result); + } + + static void init(int n){ + for(int i = 1;i<=n;i++){ + graph.put(i, new ArrayList<>()); + } + } + + static void input(int n) throws IOException{ + //1번 루트 노드를 자식으로 하는 입력은 없으니 + //총 입력은 n-1 번 + StringTokenizer st; + for(int i = 1;i queue = new LinkedList<>(); + + boolean[] visited = new boolean[graph.size()+1]; + queue.add(new Node(1,0)); + int farNode = 1; + int max = 0; + while(!queue.isEmpty()){ + Node nowNode = queue.poll(); + if(visited[nowNode.num]) continue; + else{ + List linkNodes = graph.get(nowNode.num); + for(Node linkNode : linkNodes){ + if(visited[linkNode.num]) continue; + else{ + queue.add(new Node(linkNode.num, linkNode.weight+ nowNode.weight)); + } + } + visited[nowNode.num] = true; + if(max < nowNode.weight){ + max = nowNode.weight; + farNode = nowNode.num; + } + } + } + return farNode; + } + + static int di(int i){ + Queue queue = new LinkedList<>(); + + boolean[] visited = new boolean[graph.size()+1]; + queue.add(new Node(i,0)); + int max = 0; + while(!queue.isEmpty()){ + Node nowNode = queue.poll(); + if(visited[nowNode.num]) continue; + else{ + List linkNodes = graph.get(nowNode.num); + for(Node linkNode : linkNodes){ + if(visited[linkNode.num]) continue; + else{ + queue.add(new Node(linkNode.num, linkNode.weight+ nowNode.weight)); + } + } + visited[nowNode.num] = true; + if(max < nowNode.weight){ + max = nowNode.weight; + } + } + } + return max; + + } + + static class Node{ + int num; + int weight; + + Node(int num, int weight){ + this.num = num; + this.weight = weight; + } + } + +} From 614543238a97e28ed8205295e4bcc623d543d09a Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 15 Aug 2025 16:44:36 +0900 Subject: [PATCH 010/115] =?UTF-8?q?[FEAT]=20=EC=A3=BC=EC=84=9D=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1967.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/baekjoon/class4/BaekJoon1967.java b/src/baekjoon/class4/BaekJoon1967.java index 17eb988..1b5f983 100644 --- a/src/baekjoon/class4/BaekJoon1967.java +++ b/src/baekjoon/class4/BaekJoon1967.java @@ -26,22 +26,28 @@ public class BaekJoon1967 { //Node간의 연결 표시 //num이 key인 Node에 연결된 Node들의 집합. - static Map> graph = new HashMap<>(); + static Map> graph; public static void main(String[] args) throws IOException { //node의 개수 int n = Integer.parseInt(br.readLine()); + //node 에 연결된 다른 Node들 초기화 init(n); + //입력을 받아서 각 노드별 연결 정도 확인 input(n); + //결과 탐색 및 반환 int result = searchResult(n); + //결과 출력 System.out.print(result); } + //그래프 초기화 시키기 작업 static void init(int n){ + graph = new HashMap<>(); for(int i = 1;i<=n;i++){ graph.put(i, new ArrayList<>()); } @@ -64,6 +70,8 @@ static void input(int n) throws IOException{ } //리프 노드에서 다른 노드들까지의 거리 중 최댓값을 찾아서 반환. + //이때 작업하는 방식은 루트 노드로 부터 가장 거리가 먼 Node를 찾고 + //그 이후 해당 먼 Node에서 다른 모든 노드들의 거리를 찾아 반환. static int searchResult(int n){ return di(farNode()); } From d1d3c3a9b575380a1513e4902e4f37161c35eb7b Mon Sep 17 00:00:00 2001 From: programofktw Date: Sat, 16 Aug 2025 21:04:00 +0900 Subject: [PATCH 011/115] =?UTF-8?q?[FEAT]=20.iml=20=ED=8C=8C=EC=9D=BC=20ig?= =?UTF-8?q?nore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ algorithm.iml | 11 ----------- 2 files changed, 2 insertions(+), 11 deletions(-) delete mode 100644 algorithm.iml diff --git a/.gitignore b/.gitignore index 2a7c3a7..dd12c82 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,5 @@ bin/ build/** src/main/resources/application.properties + +**/**.iml \ No newline at end of file diff --git a/algorithm.iml b/algorithm.iml deleted file mode 100644 index c90834f..0000000 --- a/algorithm.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file From 8085cddd54371b1620ae2d0d54ea23085123fe81 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sat, 16 Aug 2025 22:14:36 +0900 Subject: [PATCH 012/115] =?UTF-8?q?[1167]=20tree=20=EC=A7=80=EB=A6=84=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1167.java | 125 ++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon1167.java diff --git a/src/baekjoon/class4/BaekJoon1167.java b/src/baekjoon/class4/BaekJoon1167.java new file mode 100644 index 0000000..8dcdffb --- /dev/null +++ b/src/baekjoon/class4/BaekJoon1167.java @@ -0,0 +1,125 @@ +package baekjoon.class4; + +import basic.datastructure.map.HashMap; +import basic.datastructure.map.Map; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.*; + +public class BaekJoon1167 { + + /* + 트리의 지름 문제인데 이전과 다른 점으로는 + 입력이 간선 하나씩이 아닌 특정 노드에 연결된 모든 노드들로 부터 이루어지는 차이가 존재 + 입력 다른것만 처리해주면 될 것으로 예상. + */ + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static Map> graph = new HashMap<>(); + + public static void main(String[] args) throws IOException { + int n = Integer.parseInt(br.readLine()); + + init(n); + + input(n); + + System.out.print(searchResult()); + } + + static void init(int n){ + for(int i=1;i<=n;i++){ + graph.put(i,new ArrayList<>()); + } + } + + static void input(int n) throws IOException { + for(int i = 0;i queue = new LinkedList<>(); + + boolean[] visited = new boolean[graph.size()+1]; + queue.add(new Node(1,0)); + int farNode = 1; + int max = 0; + while(!queue.isEmpty()){ + Node nowNode = queue.poll(); + if(visited[nowNode.num]) continue; + else{ + List linkNodes = graph.get(nowNode.num); + for(Node linkNode : linkNodes){ + if(visited[linkNode.num]) continue; + else{ + queue.add(new Node(linkNode.num, linkNode.weight+ nowNode.weight)); + } + } + visited[nowNode.num] = true; + if(max < nowNode.weight){ + max = nowNode.weight; + farNode = nowNode.num; + } + } + } + return farNode; + } + + static int di(int i){ + Queue queue = new LinkedList<>(); + + boolean[] visited = new boolean[graph.size()+1]; + queue.add(new Node(i,0)); + int max = 0; + while(!queue.isEmpty()){ + Node nowNode = queue.poll(); + if(visited[nowNode.num]) continue; + else{ + List linkNodes = graph.get(nowNode.num); + for(Node linkNode : linkNodes){ + if(visited[linkNode.num]) continue; + else{ + queue.add(new Node(linkNode.num, linkNode.weight+ nowNode.weight)); + } + } + visited[nowNode.num] = true; + if(max < nowNode.weight){ + max = nowNode.weight; + } + } + } + return max; + + } + + static class Node{ + int num; + int weight; + + Node(int num, int weight){ + this.num = num; + this.weight = weight; + } + } + +} From 2df2ed43803ef4375da203e9fbfe14c91cb660c7 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sat, 16 Aug 2025 22:15:02 +0900 Subject: [PATCH 013/115] =?UTF-8?q?[1167]=20=EC=A7=81=EC=A0=91=20=EB=A7=8C?= =?UTF-8?q?=EB=93=A0=20=EC=9E=90=EB=A3=8C=EA=B5=AC=EC=A1=B0=EC=97=90?= =?UTF-8?q?=EC=84=9C=20util=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1167.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/baekjoon/class4/BaekJoon1167.java b/src/baekjoon/class4/BaekJoon1167.java index 8dcdffb..b9503d5 100644 --- a/src/baekjoon/class4/BaekJoon1167.java +++ b/src/baekjoon/class4/BaekJoon1167.java @@ -1,8 +1,5 @@ package baekjoon.class4; -import basic.datastructure.map.HashMap; -import basic.datastructure.map.Map; - import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; From 1078b05a3443b5b1c34b0c363ed8942643859f6f Mon Sep 17 00:00:00 2001 From: Kimteawan <100819044+programofktw@users.noreply.github.com> Date: Mon, 18 Aug 2025 23:24:14 +0900 Subject: [PATCH 014/115] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index cd7c688..18aead9 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,11 @@ # 자료구조 ## List - AraryList + - [ArrayList 구현 예시 코드](https://github.com/programofktw/AlgorithmStudy/pull/123) - LinkedList ## Map - ListMap - HashMap - [HashMap 구현](https://github.com/programofktw/AlgorithmStudy/pull/135) + From baa1118c95e44cdad13b058f62a2d77f45098e47 Mon Sep 17 00:00:00 2001 From: Kimteawan <100819044+programofktw@users.noreply.github.com> Date: Wed, 20 Aug 2025 22:36:06 +0900 Subject: [PATCH 015/115] =?UTF-8?q?[BASIC]=20Readme=20ListMap=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 18aead9..b858b2c 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,26 @@ # 알고리즘 - bfs - - [BFS 예시 코드](https://github.com/programofktw/AlgorithmStudy/pull/127) + - [BFS 코드 구현](https://github.com/programofktw/AlgorithmStudy/pull/127) - - dfs - - [DFS 예시 코드](https://github.com/programofktw/AlgorithmStudy/pull/134) + - [DFS 코드 구현](https://github.com/programofktw/AlgorithmStudy/pull/134) - pre, in, post Oder - - [전위 중위 후위 순회 예시 코드](https://github.com/programofktw/AlgorithmStudy/pull/136) + - [전위 중위 후위 순회 코드 구현](https://github.com/programofktw/AlgorithmStudy/pull/136) # 자료구조 ## List - AraryList - - [ArrayList 구현 예시 코드](https://github.com/programofktw/AlgorithmStudy/pull/123) + - [ArrayList 구현](https://github.com/programofktw/AlgorithmStudy/pull/123) - LinkedList ## Map - ListMap + - [ListMap 구현](https://github.com/programofktw/AlgorithmStudy/pull/131) + - HashMap - [HashMap 구현](https://github.com/programofktw/AlgorithmStudy/pull/135) + From 217bb85efd4010b2c17892bb01e14ed45ae59f9d Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 21 Aug 2025 23:35:15 +0900 Subject: [PATCH 016/115] =?UTF-8?q?[32025]=20=EC=B2=B4=EC=9C=A1=EC=9D=80?= =?UTF-8?q?=20=EC=88=98=ED=95=99=20=EA=B3=BC=EB=AA=A9=EC=9E=85=EB=8B=88?= =?UTF-8?q?=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon32025.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon32025.java diff --git a/src/baekjoon/bronze/BaekJoon32025.java b/src/baekjoon/bronze/BaekJoon32025.java new file mode 100644 index 0000000..3ea8438 --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon32025.java @@ -0,0 +1,21 @@ +package baekjoon.bronze; + +import java.util.Scanner; + +public class BaekJoon32025 { + + public static void main(String[] args){ + Scanner scanner = new Scanner(System.in); + + double a = scanner.nextDouble(); + + double b = scanner.nextDouble(); + + if(a Date: Fri, 12 Sep 2025 14:25:36 +0900 Subject: [PATCH 017/115] =?UTF-8?q?[=3F=3F]=20:=202448=20=EC=9B=90?= =?UTF-8?q?=EC=9D=B8=20=EB=AA=A8=EB=A5=BC=20=ED=8C=8C=EC=9D=BC=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon2448.java | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon2448.java diff --git a/src/baekjoon/class4/BaekJoon2448.java b/src/baekjoon/class4/BaekJoon2448.java new file mode 100644 index 0000000..b3a4fa5 --- /dev/null +++ b/src/baekjoon/class4/BaekJoon2448.java @@ -0,0 +1,51 @@ +package baekjoon.class4; + +import java.util.Scanner; + +public class BaekJoon2448 { + static char[][] arr; + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + int N = sc.nextInt(); + arr = new char[N][2 * N - 1]; + + // 공백 초기화 + for (int i = 0; i < N; i++) { + for (int j = 0; j < 2 * N - 1; j++) { + arr[i][j] = ' '; + } + } + + drawTriangle(N, 0, N - 1); + + // 출력 + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < N; i++) { + sb.append(arr[i]); + sb.append("\n"); + } + System.out.println(sb); + } + + // N 높이의 삼각형을 (x, y) 꼭짓점 중심에 그리기 + static void drawTriangle(int size, int x, int y) { + if (size == 3) { + arr[x][y] = '*'; + arr[x + 1][y - 1] = '*'; + arr[x + 1][y + 1] = '*'; + for (int i = -2; i <= 2; i++) { + arr[x + 2][y + i] = '*'; + } + return; + } + + int newSize = size / 2; + // 위 삼각형 + drawTriangle(newSize, x, y); + // 왼쪽 아래 삼각형 + drawTriangle(newSize, x + newSize, y - newSize); + // 오른쪽 아래 삼각형 + drawTriangle(newSize, x + newSize, y + newSize); + } +} From cae686273eed1807487b6387549d1e964da079a1 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 12 Sep 2025 14:41:32 +0900 Subject: [PATCH 018/115] =?UTF-8?q?[2522]=20:=20=EC=86=90=ED=92=80?= =?UTF-8?q?=EC=9D=B4=20=EB=B3=84=EC=B0=8D=EA=B8=B0=2012=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon2522.java | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon2522.java diff --git a/src/baekjoon/bronze/BaekJoon2522.java b/src/baekjoon/bronze/BaekJoon2522.java new file mode 100644 index 0000000..70d6ce9 --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon2522.java @@ -0,0 +1,39 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +/* +별찍기 - 12 + */ +public class BaekJoon2522 { + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + int input = Integer.parseInt(br.readLine()); + + for(int i = input ; i>0;i--){ + for(int j = 1;j<=input;j++){ + if (j>=i){ + System.out.print("*"); + }else{ + System.out.print(" "); + } + } + System.out.println(); + } + + for(int i = 1; ii){ + System.out.print("*"); + }else{ + System.out.print(" "); + } + } + System.out.println(); + } + } +} From 087ae095a390780f7fca1edd0c731b499644ce4b Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 12 Sep 2025 14:42:53 +0900 Subject: [PATCH 019/115] =?UTF-8?q?[2522]=20:=20=EB=B3=84=EC=B0=8D?= =?UTF-8?q?=EA=B8=B0=2012=20refactor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon2522.java | 34 +++++++++------------------ 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/src/baekjoon/bronze/BaekJoon2522.java b/src/baekjoon/bronze/BaekJoon2522.java index 70d6ce9..7035c7b 100644 --- a/src/baekjoon/bronze/BaekJoon2522.java +++ b/src/baekjoon/bronze/BaekJoon2522.java @@ -4,36 +4,24 @@ import java.io.IOException; import java.io.InputStreamReader; -/* -별찍기 - 12 - */ public class BaekJoon2522 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int n = Integer.parseInt(br.readLine()); - int input = Integer.parseInt(br.readLine()); + StringBuilder sb = new StringBuilder(); - for(int i = input ; i>0;i--){ - for(int j = 1;j<=input;j++){ - if (j>=i){ - System.out.print("*"); - }else{ - System.out.print(" "); - } - } - System.out.println(); + // 위쪽 삼각형 + for (int i = 1; i <= n; i++) { + sb.append(" ".repeat(n - i)).append("*".repeat(i)).append("\n"); } - for(int i = 1; ii){ - System.out.print("*"); - }else{ - System.out.print(" "); - } - } - System.out.println(); + // 아래쪽 삼각형 + for (int i = n - 1; i >= 1; i--) { + sb.append(" ".repeat(n - i)).append("*".repeat(i)).append("\n"); } + + System.out.print(sb); } -} +} \ No newline at end of file From d791ab6b043a096603ae272dd418898d35128450 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 12 Sep 2025 15:39:44 +0900 Subject: [PATCH 020/115] =?UTF-8?q?[1987]=20=EC=95=8C=ED=8C=8C=EB=B2=B3=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0=20dfs=20=EC=82=AC=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1987.java | 94 +++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon1987.java diff --git a/src/baekjoon/class4/BaekJoon1987.java b/src/baekjoon/class4/BaekJoon1987.java new file mode 100644 index 0000000..ad720d0 --- /dev/null +++ b/src/baekjoon/class4/BaekJoon1987.java @@ -0,0 +1,94 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Stack; +import java.util.StringTokenizer; + +public class BaekJoon1987 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static char[][] field; + + static boolean[] visitedAlph = new boolean[27]; + + static int[] moveX = {0,-1,0,1}; + static int[] moveY = {-1,0,1,0}; + + public static void main(String[] args) throws IOException{ + + init(); + + solved(); + } + + private static void init() throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + + int R = Integer.parseInt(st.nextToken()); + + int C = Integer.parseInt(st.nextToken()); + + field = new char[R][C]; + + for(int i = 0; i < R;i++){ + char[] rInput = br.readLine().toCharArray(); + int c = 0; + for(char input : rInput){ + field[i][c++] = input; + } + } + } + + private static void solved(){ + int result = dfs(0,0,1); + + System.out.print(result); + } + + private static int dfs(int r, int c, int weight){ + if(visitedAlph[field[r][c] - 'A']) return weight; + + visitedAlph[field[r][c] - 'A'] = true; + + int max = weight; + + for(int i = 0; i<4;i++){ + if(canMove(r + moveY[i],c + moveX[i])){ + int move = dfs(r + moveY[i], c+ moveX[i], weight+1); + max = Math.max(max, move); + } + } + + visitedAlph[field[r][c]-'A'] = false; + return max; + } + + private static boolean canMove(int r, int c){ + if(r<0) return false; + + if(field.length<=r) return false; + + if(field[0].length<=c) return false; + + if(c<0) return false; + + if(visitedAlph[field[r][c] - 'A']) return false; + + return true; + } + + private class Node{ + int weight; + + int r; + int c; + + public Node(int weight, int r, int c) { + this.weight = weight; + this.r = r; + this.c = c; + } + } +} From 1bfaca401dca6fe3514190b4f3a0d08d44513ad5 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 12 Sep 2025 15:41:07 +0900 Subject: [PATCH 021/115] =?UTF-8?q?[1987]=20=EA=B3=B5=ED=86=B5=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1987.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/baekjoon/class4/BaekJoon1987.java b/src/baekjoon/class4/BaekJoon1987.java index ad720d0..e43dfcd 100644 --- a/src/baekjoon/class4/BaekJoon1987.java +++ b/src/baekjoon/class4/BaekJoon1987.java @@ -48,9 +48,9 @@ private static void solved(){ } private static int dfs(int r, int c, int weight){ - if(visitedAlph[field[r][c] - 'A']) return weight; + if(visitedAlph[charToIndex(r, c)]) return weight; - visitedAlph[field[r][c] - 'A'] = true; + visitedAlph[charToIndex(r, c)] = true; int max = weight; @@ -61,7 +61,7 @@ private static int dfs(int r, int c, int weight){ } } - visitedAlph[field[r][c]-'A'] = false; + visitedAlph[charToIndex(r, c)] = false; return max; } @@ -74,11 +74,15 @@ private static boolean canMove(int r, int c){ if(c<0) return false; - if(visitedAlph[field[r][c] - 'A']) return false; + if(visitedAlph[charToIndex(r, c)]) return false; return true; } + private static int charToIndex(int r, int c) { + return field[r][c] - 'A'; + } + private class Node{ int weight; From 95ddc1ee34691188881cbb1649e324785a51b8f5 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 19 Sep 2025 22:45:55 +0900 Subject: [PATCH 022/115] =?UTF-8?q?[21300]=20Bottle=20Return=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoo21300.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoo21300.java diff --git a/src/baekjoon/bronze/BaekJoo21300.java b/src/baekjoon/bronze/BaekJoo21300.java new file mode 100644 index 0000000..09527b3 --- /dev/null +++ b/src/baekjoon/bronze/BaekJoo21300.java @@ -0,0 +1,16 @@ +package baekjoon.bronze; + +import java.util.Scanner; + +public class BaekJoo21300 { + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + + int result = 0; + for (int i = 0; i < 6; i++) { + result += scanner.nextInt(); + } + + System.out.print(result * 5); + } +} From d512c85bfc2ce16a1a72574aad006be1058314ce Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 21 Sep 2025 14:43:45 +0900 Subject: [PATCH 023/115] =?UTF-8?q?[30802]=20=EC=9B=B0=EC=BB=B4=20?= =?UTF-8?q?=ED=82=A4=ED=8A=B8=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon30007.java | 27 +++++++++++++++ src/baekjoon/class2/BaekJoon30802.java | 48 ++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon30007.java create mode 100644 src/baekjoon/class2/BaekJoon30802.java diff --git a/src/baekjoon/bronze/BaekJoon30007.java b/src/baekjoon/bronze/BaekJoon30007.java new file mode 100644 index 0000000..3ddcc75 --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon30007.java @@ -0,0 +1,27 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon30007 { + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + int N = Integer.parseInt(br.readLine()); + + for(int i= 0 ; i Date: Sun, 21 Sep 2025 16:48:13 +0900 Subject: [PATCH 024/115] =?UTF-8?q?[baekjoon]=20class2=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20solved?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class2/BaekJoon14626.java | 63 ++++++++++++++++++++++++++ src/baekjoon/class2/BaekJoon28702.java | 39 ++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 src/baekjoon/class2/BaekJoon14626.java create mode 100644 src/baekjoon/class2/BaekJoon28702.java diff --git a/src/baekjoon/class2/BaekJoon14626.java b/src/baekjoon/class2/BaekJoon14626.java new file mode 100644 index 0000000..f685b11 --- /dev/null +++ b/src/baekjoon/class2/BaekJoon14626.java @@ -0,0 +1,63 @@ +package baekjoon.class2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class BaekJoon14626 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public static void main(String[] args) throws IOException { + String input = br.readLine(); + + String[] split = input.split(""); + + int[] num = new int[13]; + + int i =0; + + int starIndex=0; + for(String now : split){ + if(now.equals("*")){ + starIndex= i; + num[i++] = 0; + + continue; + } + num[i++] = Integer.parseInt(now); + } + + int tempTotal = 0; + + for(int j = 0 ; j < 12;j++){ + if(j%2==0) + tempTotal += num[j]; + else + tempTotal += num[j]*3; + } + + for(int j=0;j<10;j++){ + if(starIndex%2==0){ + if(check(num[12],j, tempTotal)){ + System.out.print(j); + break; + } + }else{ + if(check(num[12],j*3, tempTotal)){ + System.out.print(j); + break; + } + } + } + + + } + + private static boolean check(int goal,int j, int tempTotal){ + int total = j+tempTotal; + + return (10 - total % 10)%10 == goal; + + } +} diff --git a/src/baekjoon/class2/BaekJoon28702.java b/src/baekjoon/class2/BaekJoon28702.java new file mode 100644 index 0000000..e6440af --- /dev/null +++ b/src/baekjoon/class2/BaekJoon28702.java @@ -0,0 +1,39 @@ +package baekjoon.class2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class BaekJoon28702 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public static void main(String[] args) throws IOException { + + String[] input = new String[3]; + + input[0] = br.readLine(); + + input[1] = br.readLine(); + + input[2] = br.readLine(); + + int goal=0; + + for(int i = 0; i<3;i++){ + if(input[i].equals("FizzBuzz")||input[i].equals("Fizz")||input[i].equals("Buzz")) continue; + else{ + int num = Integer.parseInt(input[i]); + goal = num + (3-i); + break; + } + } + + if((goal%3)==0&&goal%5==0) System.out.println("FizzBuzz"); + else if(goal%3==0) System.out.println("Fizz"); + else if(goal%5==0) System.out.println("Buzz"); + + else System.out.print(goal); + + + } +} From 2901487069def8cb09a75a4a594f9e1b08c723e9 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 21 Sep 2025 17:26:18 +0900 Subject: [PATCH 025/115] =?UTF-8?q?[11054]=20dfs=EB=A5=BC=20=ED=99=9C?= =?UTF-8?q?=EC=9A=A9=ED=95=9C=20=EB=AC=B8=EC=A0=9C=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon11054.java | 74 ++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon11054.java diff --git a/src/baekjoon/class4/BaekJoon11054.java b/src/baekjoon/class4/BaekJoon11054.java new file mode 100644 index 0000000..e60f80b --- /dev/null +++ b/src/baekjoon/class4/BaekJoon11054.java @@ -0,0 +1,74 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon11054 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public static void main(String[] args) throws IOException { + int num = Integer.parseInt(br.readLine()); + + int[] array = new int[num]; + + StringTokenizer st = new StringTokenizer(br.readLine()); + + + int i = 0; + while(st.hasMoreTokens()){ + array[i++] = Integer.parseInt(st.nextToken()); + } + + + System.out.print(solution(array)); + } + + + public static int solution(int[] array){ + return Math.max(dfs(array,1,0,0,false),dfs(array,1,1,array[0],false)); + } + + public static int dfs(int[] array,int index,int length, int lastNum, boolean isReverse){ + int max =0; + + if(index==array.length) return length; + //다음 수가 큰 상황 + if(array[index] > lastNum){ + //다음 수가 작은 수여야할 경우 근데 큼 그냥 패스 + if(isReverse){ + max = Math.max(dfs(array, index+1,length,lastNum,isReverse),max); + } + //다음 수가 큰 수여야할 경우, 근데 큼, 포함하거나 말거나 + else{ + //포함하거나 + max = Math.max(dfs(array, index+1,length+1,array[index],isReverse),max); + //포함하지 않거나 + max = Math.max(dfs(array,index+1,length,lastNum,isReverse),max); + } + //다음 수가 작은 상황 + }else if(array[index] < lastNum){ + //다음 수가 작아야하는 상황 근데 작음 포함하거나 말거나 + if(isReverse){ + //포함하거나 + max = Math.max(dfs(array, index+1,length+1,array[index],isReverse),max); + //포함하지 않거나 + max = Math.max(dfs(array,index+1,length,lastNum,isReverse),max); + } + //다음수가 커야하는 상황 근데 작음 그럼 reverse를 돌려보서 포함하거나 패스하거나 + else{ + //리버스를 돌려서 포함하거나 + max = Math.max(dfs(array, index+1,length+1,array[index],!isReverse),max); + //포함하지 않거나 + max = Math.max(dfs(array,index+1,length,lastNum,isReverse),max); + } + //같은 경우 그냥 패스 + }else{ + max = Math.max(dfs(array, index+1,length,lastNum,isReverse),max); + } + + return max; + } +} From 97ea2bc050e2e2df49743b0d55a979947df1a774 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 21 Sep 2025 17:27:06 +0900 Subject: [PATCH 026/115] =?UTF-8?q?[11054]=20dfs=20=EC=8B=9C=EA=B0=84=20?= =?UTF-8?q?=EC=B4=88=EA=B3=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon11054.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/baekjoon/class4/BaekJoon11054.java b/src/baekjoon/class4/BaekJoon11054.java index e60f80b..ef8e6f0 100644 --- a/src/baekjoon/class4/BaekJoon11054.java +++ b/src/baekjoon/class4/BaekJoon11054.java @@ -31,6 +31,7 @@ public static int solution(int[] array){ return Math.max(dfs(array,1,0,0,false),dfs(array,1,1,array[0],false)); } + //dfs 시간초과 public static int dfs(int[] array,int index,int length, int lastNum, boolean isReverse){ int max =0; From a16e58f0f93d6162bb1a4f794bc7c855fd49ec64 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 21 Sep 2025 18:00:16 +0900 Subject: [PATCH 027/115] =?UTF-8?q?[11054]=20dp=EB=A5=BC=20=EC=9D=B4?= =?UTF-8?q?=EC=9A=A9=ED=95=98=EC=97=AC=20=EB=AC=B8=EC=A0=9C=20=ED=92=80?= =?UTF-8?q?=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon11054.java | 38 +++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/baekjoon/class4/BaekJoon11054.java b/src/baekjoon/class4/BaekJoon11054.java index ef8e6f0..a6a97d4 100644 --- a/src/baekjoon/class4/BaekJoon11054.java +++ b/src/baekjoon/class4/BaekJoon11054.java @@ -23,7 +23,7 @@ public static void main(String[] args) throws IOException { } - System.out.print(solution(array)); + System.out.print(dpSolution(array)); } @@ -31,6 +31,42 @@ public static int solution(int[] array){ return Math.max(dfs(array,1,0,0,false),dfs(array,1,1,array[0],false)); } + public static int dpSolution(int[] array){ + + int n = array.length; + + //증가 함수 + int[] LIS = new int[array.length]; + + //감소 배열 + int[] LDS = new int[array.length]; + + // 증가 부분 수열 + for (int i = 0; i < n; i++) { + LIS[i] = 1; + for (int j = 0; j < i; j++) { + if (array[j] < array[i]) LIS[i] = Math.max(LIS[i], LIS[j] + 1); + } + } + + // 감소 부분 수열 + for (int i = n - 1; i >= 0; i--) { + LDS[i] = 1; + for (int j = n - 1; j > i; j--) { + if (array[j] < array[i]) LDS[i] = Math.max(LDS[i], LDS[j] + 1); + } + } + + int answer = 0; + + for(int i = 0 ; i Date: Tue, 23 Sep 2025 11:51:33 +0900 Subject: [PATCH 028/115] =?UTF-8?q?[5575]=20=ED=83=80=EC=9E=84=20=EC=B9=B4?= =?UTF-8?q?=EB=93=9C=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon5575.java | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon5575.java diff --git a/src/baekjoon/bronze/BaekJoon5575.java b/src/baekjoon/bronze/BaekJoon5575.java new file mode 100644 index 0000000..be842d9 --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon5575.java @@ -0,0 +1,39 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.time.LocalTime; +import java.util.StringTokenizer; + +public class BaekJoon5575 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public static void main(String[] args) throws IOException { + + for(int i = 0 ; i < 3;i++) { + StringTokenizer st = new StringTokenizer(br.readLine()); + + solution(st); + } + + } + + public static void solution(StringTokenizer st){ + int startH = Integer.parseInt(st.nextToken()); + int startM = Integer.parseInt(st.nextToken()); + int startS = Integer.parseInt(st.nextToken()); + + + int endH = Integer.parseInt(st.nextToken()); + int endM = Integer.parseInt(st.nextToken()); + int endS = Integer.parseInt(st.nextToken()); + + LocalTime end = LocalTime.of(endH, endM, endS); + + LocalTime result = end.minusHours(startH).minusMinutes(startM).minusSeconds(startS); + + System.out.printf("%d %d %d\n",result.getHour(), result.getMinute(), result.getSecond()); + } +} From d04520e9b17e511a0e2f9cebbd534796b2f393f9 Mon Sep 17 00:00:00 2001 From: programofktw Date: Wed, 24 Sep 2025 17:12:10 +0900 Subject: [PATCH 029/115] =?UTF-8?q?[32314]=20=EB=B3=BC=ED=8A=B8=20?= =?UTF-8?q?=EC=99=80=ED=8A=B8=20=EB=AC=B8=EC=A0=9C=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon32314.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon32314.java diff --git a/src/baekjoon/bronze/BaekJoon32314.java b/src/baekjoon/bronze/BaekJoon32314.java new file mode 100644 index 0000000..03422eb --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon32314.java @@ -0,0 +1,24 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon32314 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public static void main(String[] args) throws IOException { + int first = Integer.parseInt(br.readLine()); + + StringTokenizer st = new StringTokenizer(br.readLine()); + + int w = Integer.parseInt(st.nextToken()); + + int v = Integer.parseInt(st.nextToken()); + + if(first<=w/v) System.out.print(1); + else System.out.print(0); + } +} From 559c79efd54778dc37ccb9b6ee0f6e65f8dfae82 Mon Sep 17 00:00:00 2001 From: programofktw Date: Wed, 24 Sep 2025 19:36:38 +0900 Subject: [PATCH 030/115] =?UTF-8?q?[13416]=20=EC=A3=BC=EC=8B=9D=20?= =?UTF-8?q?=ED=88=AC=EC=9E=90=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon13416.java | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon13416.java diff --git a/src/baekjoon/bronze/BaekJoon13416.java b/src/baekjoon/bronze/BaekJoon13416.java new file mode 100644 index 0000000..26d622e --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon13416.java @@ -0,0 +1,41 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon13416 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public static void main(String[] args) throws IOException { + int testCase = Integer.parseInt(br.readLine()); + StringBuilder sb = new StringBuilder(); + + + for(int i =0;i=0) + result += max; + + } + + sb.append(result).append("\n"); + } + System.out.print(sb); + + } +} From 435bec3ff3a94ad82fc049e2c29aaadcfe10a095 Mon Sep 17 00:00:00 2001 From: programofktw Date: Wed, 24 Sep 2025 19:51:57 +0900 Subject: [PATCH 031/115] =?UTF-8?q?[3711]=20=ED=95=99=EB=B2=88=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/silver/BaekJoon3711.java | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/baekjoon/silver/BaekJoon3711.java diff --git a/src/baekjoon/silver/BaekJoon3711.java b/src/baekjoon/silver/BaekJoon3711.java new file mode 100644 index 0000000..5ca235d --- /dev/null +++ b/src/baekjoon/silver/BaekJoon3711.java @@ -0,0 +1,46 @@ +package baekjoon.silver; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.HashSet; + +public class BaekJoon3711 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + int testCase = Integer.parseInt(br.readLine()); + + for(int i = 0 ; i < testCase; i++){ + int studentNum = Integer.parseInt(br.readLine()); + + int[] studentIds = new int[studentNum]; + + for(int j = 0 ; j namage = new HashSet<>(); + int min = 0; + A : while(true){ + namage.clear(); + min++; + for(int id : studentIds){ + int temp = id % min; + + if(namage.contains(temp)) continue A; + else{ + namage.add(temp); + } + } + sb.append(min).append("\n"); + break; + } + } + + System.out.print(sb); + } +} From 0e04284af70e0976a13006d9c5d619721503e858 Mon Sep 17 00:00:00 2001 From: programofktw Date: Wed, 24 Sep 2025 20:19:59 +0900 Subject: [PATCH 032/115] =?UTF-8?q?[2638]=20=ED=96=89=EB=A0=AC=20=EC=A0=9C?= =?UTF-8?q?=EA=B3=B1=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0=20-=20?= =?UTF-8?q?=EB=B6=84=ED=95=A0=20=EC=A0=95=EB=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon2638.java | 75 +++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon2638.java diff --git a/src/baekjoon/class4/BaekJoon2638.java b/src/baekjoon/class4/BaekJoon2638.java new file mode 100644 index 0000000..754d81c --- /dev/null +++ b/src/baekjoon/class4/BaekJoon2638.java @@ -0,0 +1,75 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Iterator; +import java.util.StringTokenizer; + +public class BaekJoon2638 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + + int N = Integer.parseInt(st.nextToken()); + + Long B = Long.parseLong(st.nextToken()); + + int[][] A = new int[N][N]; + + + //기본 배열 A 입력 + for(int i =0;i Date: Wed, 24 Sep 2025 20:23:46 +0900 Subject: [PATCH 033/115] =?UTF-8?q?[2638]=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20import=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon2638.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/baekjoon/class4/BaekJoon2638.java b/src/baekjoon/class4/BaekJoon2638.java index 754d81c..21afa99 100644 --- a/src/baekjoon/class4/BaekJoon2638.java +++ b/src/baekjoon/class4/BaekJoon2638.java @@ -3,7 +3,6 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import java.util.Iterator; import java.util.StringTokenizer; public class BaekJoon2638 { From 687522af29cf5e9ceafb50cc03a24c7491f12af3 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 25 Sep 2025 17:40:39 +0900 Subject: [PATCH 034/115] =?UTF-8?q?[10830]=202638=EC=9D=B4=20=EC=95=84?= =?UTF-8?q?=EB=8B=8C=2010830=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{BaekJoon2638.java => BaekJoon10830.java} | 5 +- src/baekjoon/class4/BaekJoon10830_2.java | 71 +++++++++++++++++++ 2 files changed, 73 insertions(+), 3 deletions(-) rename src/baekjoon/class4/{BaekJoon2638.java => BaekJoon10830.java} (95%) create mode 100644 src/baekjoon/class4/BaekJoon10830_2.java diff --git a/src/baekjoon/class4/BaekJoon2638.java b/src/baekjoon/class4/BaekJoon10830.java similarity index 95% rename from src/baekjoon/class4/BaekJoon2638.java rename to src/baekjoon/class4/BaekJoon10830.java index 21afa99..f30f84a 100644 --- a/src/baekjoon/class4/BaekJoon2638.java +++ b/src/baekjoon/class4/BaekJoon10830.java @@ -5,7 +5,7 @@ import java.io.InputStreamReader; import java.util.StringTokenizer; -public class BaekJoon2638 { +public class BaekJoon10830 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); @@ -15,8 +15,7 @@ public static void main(String[] args) throws IOException { StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); - - Long B = Long.parseLong(st.nextToken()); + long B = Long.parseLong(st.nextToken()); int[][] A = new int[N][N]; diff --git a/src/baekjoon/class4/BaekJoon10830_2.java b/src/baekjoon/class4/BaekJoon10830_2.java new file mode 100644 index 0000000..8407d46 --- /dev/null +++ b/src/baekjoon/class4/BaekJoon10830_2.java @@ -0,0 +1,71 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon10830_2 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + + int N = Integer.parseInt(st.nextToken()); + + long B = Long.parseLong(st.nextToken()); + + int[][] A = new int[N][N]; + + for(int i = 0 ; i < N;i++){ + st = new StringTokenizer(br.readLine()); + + int j= 0; + while(st.hasMoreTokens()){ + A[i][j++] = Integer.parseInt(st.nextToken())%1000; + } + } + + int[][] result = pow(A,B); + + for(int i = 0 ; i < result.length;i++){ + for(int j = 0 ; j< result.length;j++){ + sb.append(result[i][j]).append(" "); + } + sb.append("\n"); + } + + System.out.print(sb); + } + + public static int[][] pow(int[][] A, long B){ + + if(B==1L) return A; + + int[][] temp = pow(A,B/2); + + int[][] result = mul(temp, temp); + + if(B%2!=0) result = mul(result, A); + + return result; + } + + public static int[][] mul(int[][] o1, int[][] o2){ + int[][] temp = new int[o1.length][o1.length]; + + for(int i = 0 ; i < o1.length;i++){ + for(int j = 0 ; j Date: Thu, 25 Sep 2025 18:09:59 +0900 Subject: [PATCH 035/115] =?UTF-8?q?[25815]=20Cat=E2=80=99s=20Age=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon25815.java | 73 ++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon25815.java diff --git a/src/baekjoon/bronze/BaekJoon25815.java b/src/baekjoon/bronze/BaekJoon25815.java new file mode 100644 index 0000000..7589fc3 --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon25815.java @@ -0,0 +1,73 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon25815 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + int catYear = Integer.parseInt(st.nextToken()); + int catMonth = Integer.parseInt(st.nextToken()); + + int humanY =0; + int humanM =0; + + int count = 0; + + + + //1년 이상인 경우 + while(catYear!=0){ + if(count==0){ + humanY += CatToHuman.FIRST.human; + catYear--; + count++; + } + else if(count==1){ + humanY += CatToHuman.SECOND.human; + catYear--; + count++; + } + else if(count==2){ + humanY += catYear * CatToHuman.OVER.human; + catYear=0; + } + } + + if(count==0){ + humanM = catMonth * CatToHuman.FIRST.human; + }else if(count ==1){ + humanM = catMonth * CatToHuman.SECOND.human; + }else if(count == 2){ + humanM = catMonth * CatToHuman.OVER.human; + } + humanY += humanM / 12; + humanM = humanM % 12; + + System.out.print(humanY + " " + humanM); + + } + + + enum CatToHuman{ + + FIRST(1,15), + SECOND(1, 9), + OVER(1,4); + + CatToHuman(int cat, int human) { + this.cat = cat; + this.human = human; + } + + final int cat; + final int human; + + } +} From f905ce089ffdd50eb1add1dff120ee79f11939b5 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 25 Sep 2025 20:26:12 +0900 Subject: [PATCH 036/115] =?UTF-8?q?[1504]=20=ED=8A=B9=EC=A0=95=ED=95=9C=20?= =?UTF-8?q?=EC=B5=9C=EB=8B=A8=20=EA=B2=BD=EB=A1=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon1504.java | 155 ++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon1504.java diff --git a/src/baekjoon/class4/BaekJoon1504.java b/src/baekjoon/class4/BaekJoon1504.java new file mode 100644 index 0000000..ca10c43 --- /dev/null +++ b/src/baekjoon/class4/BaekJoon1504.java @@ -0,0 +1,155 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.*; + +public class BaekJoon1504 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + static Map> graph = new HashMap<>(); + + static int[][] distances; + + public static void main(String[] args) throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + + //Node 개수 + int N = Integer.parseInt(st.nextToken()); + + //간선 개수 + int E = Integer.parseInt(st.nextToken()); + + // 0 : 1 ~ + // 1 : v1 ~ + // 2 : v2 ~ + distances = new int[3][N+1]; + + for(int i = 0 ; i < 3;i++) + Arrays.fill(distances[i],-1); + + for(int i = 1; i <=N ;i++){ + graph.put(i,new ArrayList<>()); + } + + for(int i =0 ; i < E; i++){ + st = new StringTokenizer(br.readLine()); + + int start = Integer.parseInt(st.nextToken()); + + int end = Integer.parseInt(st.nextToken()); + + int cost = Integer.parseInt(st.nextToken()); + + graph.get(start).add(new Node(start, end, cost)); + graph.get(end).add(new Node(end, start, cost)); + } + + st = new StringTokenizer(br.readLine()); + + int v1 = Integer.parseInt(st.nextToken()); + + int v2 = Integer.parseInt(st.nextToken()); + + bfs(1,0); + bfs(v1,1); + bfs(v2,2); + + + if(distances[1][N] == -1 || distances[2][N]==-1){ + System.out.print(-1); + }else{ + int mid1 = distances[1][v2]; + int mid2 = distances[1][1] + distances[1][v2]; + + int midResult = Math.min(mid1,mid2); + + int edge1 = distances[0][v1] + distances[2][N]; + + int edge2 = distances[0][v2] + distances[1][N]; + + int edgeResult = Math.min(edge1,edge2); + + System.out.print(midResult + edgeResult); + } + + + + //경우의 수 + //1. 1 -> v1 -> v2 -> + //2. 1 -> v2 -> v1 -> N + //3. 1 -> v1 -> 1 -> v2 -> N + //4. 1 -> v2 -> 1 -> v1 -> N + + + + } + + static void bfs(int baseNode, int key){ + PriorityQueue queue = new PriorityQueue<>( + Comparator.comparingInt(o -> o.cost) + ); + + + // 시작점 거리 0으로 설정 + distances[key][baseNode] = 0; + queue.add(new Node(baseNode, baseNode, 0)); + + + while(!queue.isEmpty()){ + Node now = queue.poll(); + + if (distances[key][now.end] < now.cost) continue; + + for(Node next : graph.get(now.end)){ + int newCost = now.cost + next.cost; + + if (distances[key][next.end] == -1 || distances[key][next.end] > newCost) { + distances[key][next.end] = newCost; + queue.add(new Node(now.end, next.end, newCost)); + } + } + } + } + + static void dijkstra(int baseNode, int key) { + PriorityQueue queue = new PriorityQueue<>( + Comparator.comparingInt(o -> o.cost) + ); + + // 시작점 거리 0으로 설정 + distances[key][baseNode] = 0; + queue.add(new Node(baseNode, baseNode, 0)); + + while (!queue.isEmpty()) { + Node now = queue.poll(); + + // 이미 더 짧은 경로가 있으면 스킵 + if (distances[key][now.end] < now.cost) continue; + + for (Node next : graph.get(now.end)) { + int newCost = now.cost + next.cost; + if (distances[key][next.end] == -1 || distances[key][next.end] > newCost) { + distances[key][next.end] = newCost; + queue.add(new Node(now.end, next.end, newCost)); + } + } + } + } + + + static class Node{ + int start; + int end; + int cost; + + public Node(int x, int y, int cost) { + this.start = x; + this.end = y; + this.cost = cost; + } + } +} From 3b62523a3d525cca66a1d9a2a09a5be2cf9a3c11 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 25 Sep 2025 21:12:08 +0900 Subject: [PATCH 037/115] =?UTF-8?q?[basic]=20=EB=8B=A4=EC=9D=B5=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EB=9D=BC(Dijkstra)=20=EC=95=8C=EA=B3=A0=EB=A6=AC?= =?UTF-8?q?=EC=A6=98=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/basic/algorithm/Dijkstra.java | 183 ++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 src/basic/algorithm/Dijkstra.java diff --git a/src/basic/algorithm/Dijkstra.java b/src/basic/algorithm/Dijkstra.java new file mode 100644 index 0000000..cfc3ff9 --- /dev/null +++ b/src/basic/algorithm/Dijkstra.java @@ -0,0 +1,183 @@ +package basic.algorithm; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.*; + + +/* +특정 노드에서 다른 모든 노드까지의 최단 거리를 구하는 알고리즘. + +음수 가중치가 있을 경우에는 쓸 수 없음. + +해당 문제에선 방향 없는 그래프를 기준. + */ +public class Dijkstra { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + static int[] distance; + + static Map> graph = new HashMap<>(); + + public static void main(String[] args) throws IOException { + + //Node의 개수 + int N = Integer.parseInt(br.readLine()); + + //간선의 개수 + int E = Integer.parseInt(br.readLine()); + + //0 은 사용하지 않고 1 ~ N를 사용하며 특정 Node 부터 다른 Node들 까지의 거리. + init(N); + + input(E); + + //입력 특정 노드 + dijkstra(Integer.parseInt(br.readLine())); + + printDistance(); + } + //다익스트라 알고리즘 + private static void dijkstra(int base){ + //우선 순위 큐를 이용. + PriorityQueue queue = new PriorityQueue<>( + Comparator.comparingInt(node -> node.cost) + ); + + //시작점을 Queue에 추가한 채로 시작 + queue.add(new Node(base, 0)); + + //중요 포인트 + distance[base] = 0; + + //Queue를 빼고 시작 + while(!queue.isEmpty()){ + //가장 최근의 노드를 poll + Node now = queue.poll(); + + //만약 추가하려는 값이 기존 최솟 값보다 크거나 같다면 + //같은 과정이 반복될테니 제외 + //이때 now.cost와 distance[now.to] 가 같은 경우는 최솟값을 최초로 집어 넣을 때만 해당 + if(now.cost > distance[now.to]) continue; + + //값의 갱신이 이루어져야한다면 해당 Node와 이어진 모든 Node들을 탐색 + for(Node next : graph.get(now.to)){ + //다음으로 이어지는 Cost를 구함. + int nextDistance = now.cost + next.cost; + + //이어지는 cost가 최신 distance보다 작을 경우 + if(nextDistance < distance[next.to]){ + //해당 값을 Queue에 추가. + distance[next.to] = nextDistance; + queue.add(new Node(next.to, nextDistance)); + } + } + } + } + + //초기화 과정 + private static void init(int N) { + distance = new int[N +1]; + + //거리의 초기값을 최댓값으로 지정. + Arrays.fill(distance,Integer.MAX_VALUE); + + //Graph 초기화 + for(int i = 1; i<= N; i++){ + graph.put(i, new ArrayList<>()); + } + } + //입력 과정 + private static void input(int E) throws IOException { + StringTokenizer st; + + //그래프 입력 + for(int i = 0; i< E; i++){ + //입력의 형태는 (from) (to) (cost) + st = new StringTokenizer(br.readLine()); + + //시작 노드 + int from = Integer.parseInt(st.nextToken()); + //도착 노드 + int to = Integer.parseInt(st.nextToken()); + //비용 + int cost = Integer.parseInt(st.nextToken()); + + //양 방향이기 때문에 둘 모두에 입력 + graph.get(from).add(new Node(to, cost)); + graph.get(to).add(new Node(from, cost)); + } + } + //결과 출력 과정 + private static void printDistance() { + int count = 0 ; + for(int i : distance){ + if(count==0){ + count++; + continue; + } + + if(i == Integer.MAX_VALUE) + sb.append(String.format("%3s", "INF")).append(" "); + else + sb.append(String.format("%3d", i)).append(" "); + } + + System.out.print(sb); + } + + static class Node{ + int to; + int cost; + + public Node(int to, int cost) { + this.to = to; + this.cost = cost; + } + } +} + +//Test Case 1 +/* +입력 +5 +6 +1 2 2 +1 3 3 +2 3 2 +2 4 4 +3 4 1 +4 5 1 +1 + +0 2 3 4 5 +*/ +//Test Case 2 +/* +입력 +4 +4 +1 2 1 +2 3 2 +3 4 3 +1 4 10 +1 + +출력 +0 1 3 6 +*/ +//Tast Case 3 +/* +입력 +3 +2 +1 2 5 +2 3 2 +2 + +출력 + 7 0 2 + */ From 0e581ca9aabe8e258304d883021da5d4db538c78 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 26 Sep 2025 19:47:25 +0900 Subject: [PATCH 038/115] =?UTF-8?q?[14647]=20=EC=A4=80=EC=98=A4=EB=8A=94?= =?UTF-8?q?=20=EC=A1=B0=EB=A5=98=ED=98=90=EC=98=A4=EC=95=BC!!=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon14647.java | 69 ++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon14647.java diff --git a/src/baekjoon/bronze/BaekJoon14647.java b/src/baekjoon/bronze/BaekJoon14647.java new file mode 100644 index 0000000..66c3a3b --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon14647.java @@ -0,0 +1,69 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon14647 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + static int[][] bingo; + public static void main(String[] args) throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + + int n = Integer.parseInt(st.nextToken()); + + int m = Integer.parseInt(st.nextToken()); + + bingo = new int[n][m]; + + //가로로 9의 개수를 찾기 위해 하나의 String으로 구성하는 것 + String[] X9 = new String[n]; + + //세로로 9의 개수를 찾기 위해 하나의 String으로 구성하는 것 + String[] Y9 = new String[m]; + + //입력 + for(int i= 0 ; i < n ;i++){ + st = new StringTokenizer(br.readLine()); + + int j =0; + while(st.hasMoreTokens()){ + String s = st.nextToken(); + X9[i]+= s; + Y9[j++]+= s; + } + } + + + int total9num =0; + + int max9Num = 0; + for(int i = 0 ; i < n;i++){ + int temp9Num = 0; + for(char text : X9[i].toCharArray()){ + if(text=='9'){ + total9num++; + temp9Num++; + } + } + max9Num = Math.max(temp9Num, max9Num); + } + + for(int j = 0 ; j < m ; j++){ + int temp9Num = 0; + for(char text : Y9[j].toCharArray()){ + if(text=='9'){ + temp9Num++; + } + } + max9Num = Math.max(temp9Num, max9Num); + } + + System.out.print(total9num-max9Num); + } +} From 075fa186599c861788c3c27aaa48ccf6ec30cf53 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 26 Sep 2025 19:51:10 +0900 Subject: [PATCH 039/115] =?UTF-8?q?[14647]=20=EC=A4=80=EC=98=A4=EB=8A=94?= =?UTF-8?q?=20=EC=A1=B0=EB=A5=98=ED=98=90=EC=98=A4=EC=95=BC!!=20=EB=A6=AC?= =?UTF-8?q?=ED=8C=A9=ED=84=B0=EB=A7=81=20716ms=20->=20320mx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon14647.java | 60 +++++++++----------------- 1 file changed, 21 insertions(+), 39 deletions(-) diff --git a/src/baekjoon/bronze/BaekJoon14647.java b/src/baekjoon/bronze/BaekJoon14647.java index 66c3a3b..39e5af1 100644 --- a/src/baekjoon/bronze/BaekJoon14647.java +++ b/src/baekjoon/bronze/BaekJoon14647.java @@ -11,59 +11,41 @@ public class BaekJoon14647 { static StringBuilder sb = new StringBuilder(); - static int[][] bingo; public static void main(String[] args) throws IOException { StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToken()); - int m = Integer.parseInt(st.nextToken()); - bingo = new int[n][m]; - - //가로로 9의 개수를 찾기 위해 하나의 String으로 구성하는 것 - String[] X9 = new String[n]; + int[][] arr = new int[n][m]; - //세로로 9의 개수를 찾기 위해 하나의 String으로 구성하는 것 - String[] Y9 = new String[m]; + int total9num = 0; + int[] rowCount = new int[n]; + int[] colCount = new int[m]; - //입력 - for(int i= 0 ; i < n ;i++){ + // 입력 및 9 카운팅 + for (int i = 0; i < n; i++) { st = new StringTokenizer(br.readLine()); - - int j =0; - while(st.hasMoreTokens()){ + for (int j = 0; j < m; j++) { String s = st.nextToken(); - X9[i]+= s; - Y9[j++]+= s; - } - } - - - int total9num =0; - - int max9Num = 0; - for(int i = 0 ; i < n;i++){ - int temp9Num = 0; - for(char text : X9[i].toCharArray()){ - if(text=='9'){ - total9num++; - temp9Num++; + arr[i][j] = Integer.parseInt(s); + + // 9의 개수 세기 + for (char c : s.toCharArray()) { + if (c == '9') { + total9num++; + rowCount[i]++; + colCount[j]++; + } } } - max9Num = Math.max(temp9Num, max9Num); } - for(int j = 0 ; j < m ; j++){ - int temp9Num = 0; - for(char text : Y9[j].toCharArray()){ - if(text=='9'){ - temp9Num++; - } - } - max9Num = Math.max(temp9Num, max9Num); - } + // 최대 9 개수 찾기 (행/열) + int max9Num = 0; + for (int r : rowCount) max9Num = Math.max(max9Num, r); + for (int c : colCount) max9Num = Math.max(max9Num, c); - System.out.print(total9num-max9Num); + System.out.println(total9num - max9Num); } } From a9e162b6833742f614f9b5ad7348862e35447275 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 26 Sep 2025 20:00:41 +0900 Subject: [PATCH 040/115] =?UTF-8?q?[16972]=20814=20-=201=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon16972.java | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon16972.java diff --git a/src/baekjoon/bronze/BaekJoon16972.java b/src/baekjoon/bronze/BaekJoon16972.java new file mode 100644 index 0000000..02bd18e --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon16972.java @@ -0,0 +1,27 @@ +package baekjoon.bronze; + +import java.util.HashSet; +import java.util.Set; + +public class BaekJoon16972 { + public static void main(String[] args) { + int count = 814; + int min = -8140; + int max = 8140; + int range = max - min + 1; + + Set pairs = new HashSet<>(); + + while (pairs.size() < count) { + int a = (int)(Math.random() * range) + min; + int b = (int)(Math.random() * range) + min; + String pair = a + "," + b; // 쌍을 문자열로 표현 + pairs.add(pair); + } + + // 출력 + for (String pair : pairs) { + System.out.println(pair.replace(",", " ")); + } + } +} From ef502388d24406a9ff1f329059e6acfb6036cff1 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 28 Sep 2025 18:43:56 +0900 Subject: [PATCH 041/115] =?UTF-8?q?[17070]=20=ED=8C=8C=EC=9D=B4=ED=94=84?= =?UTF-8?q?=20=EC=98=AE=EA=B8=B0=EA=B8=B0=201=20=EC=97=AD=EB=B0=A9?= =?UTF-8?q?=ED=96=A5=20DP=20=EC=8B=A4=ED=8C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon17070.java | 122 +++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon17070.java diff --git a/src/baekjoon/class4/BaekJoon17070.java b/src/baekjoon/class4/BaekJoon17070.java new file mode 100644 index 0000000..49f0385 --- /dev/null +++ b/src/baekjoon/class4/BaekJoon17070.java @@ -0,0 +1,122 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon17070 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + static boolean[][] field; + + public static void main(String[] args) throws IOException { + int n = Integer.parseInt(br.readLine()); + + field = new boolean[n][n]; + + StringTokenizer st ; + + for(int i = 0;i=0;i--){ + for(int j = n-1;j>=0;j--){ + //도착지 초기화. + if(i==n-1&&j==n-1){ + gdp[n-1][n-1] = 0; + sdp[n-1][n-1] = 0; + cdp[n-1][n-1] = 0; + continue; + } + + //도착지 위칸 + if(i==n-2&&j==n-1){ + gdp[i][j] = 0; + sdp[i][j] = 1; + cdp[i][j] = 0; + continue; + } + + if(i==n-2&&j==n-2){ + gdp[i][j] = 0; + sdp[i][j] = 0; + cdp[i][j] = 1; + continue; + } + if(i==n-1&&j==n-2){ + gdp[i][j] = 1; + sdp[i][j] = 0; + cdp[i][j] = 0; + continue; + } + + for(int h=0;h<3;h++){ + int nextX = j + move[h][0]; + int nextY = i + move[h][1]; + if(h==0){ + if(canCrossMove(j,i,n)){ + cdp[i][j] += cdp[nextY][nextX] + gdp[nextY][nextX] + sdp[nextY][nextX]; + } + //가로 + }else if(h==1){ + if(canRightMove(j,i,n)){ + gdp[i][j] += cdp[nextY][nextX] + gdp[nextY][nextX]; + } + //세로 + }else{ + if(canDownMove(j,i,n)){ + sdp[i][j] += cdp[nextY][nextX] + sdp[nextY][nextX]; + } + } + } + } + } + + long result = 0 ; + + result = gdp[0][0]; + + System.out.print(result); + + + } + + static boolean canMove(int x, int y, int n ){ + return (x < n && x >= 0 && y < n && y >= 0)&&field[y][x]; + } + + static boolean canRightMove(int x, int y, int n ){ + return canMove(x+1,y,n); + } + + static boolean canDownMove(int x, int y, int n ){ + return canMove(x,y+1,n); + } + + static boolean canCrossMove(int x, int y, int n){ + return canMove(x+1,y,n)&&canMove(x+1,y+1,n)&&canMove(x,y+1,n); + } +} From 8fa5e22f428cebf4d06987ae7b655fa2ed150ec9 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 28 Sep 2025 23:48:27 +0900 Subject: [PATCH 042/115] =?UTF-8?q?[17070]=20=ED=8C=8C=EC=9D=B4=ED=94=84?= =?UTF-8?q?=20=EC=98=AE=EA=B8=B0=EA=B8=B0=201=20=ED=95=B4=EA=B2=B0=20-=20?= =?UTF-8?q?=EC=A0=95=EB=B0=A9=ED=96=A5=20DP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon17070.java | 78 +++++++++----------------- 1 file changed, 27 insertions(+), 51 deletions(-) diff --git a/src/baekjoon/class4/BaekJoon17070.java b/src/baekjoon/class4/BaekJoon17070.java index 49f0385..80c9063 100644 --- a/src/baekjoon/class4/BaekJoon17070.java +++ b/src/baekjoon/class4/BaekJoon17070.java @@ -32,72 +32,48 @@ public static void main(String[] args) throws IOException { } } - //대각, 가로, 세로 - int[][] move = {{1,1},{1,0},{0,1}}; - //가로 + + + + //가로 x, y 에서 가로 방향으로 파이프를 두었을 때 가능한 경우의 수 long[][] gdp = new long[n][n]; - //세로 + + //가로 x, y 에서 세로ㅜ방향으로 파이프를 두었을 때 가능한 경우의 수 long[][] sdp = new long[n][n]; - //대각 + + //가로 x, y 에서 대각 방향으로 파이프를 두었을 때 가능한 경우의 수 long[][] cdp = new long[n][n]; + gdp[0][1] = 1; - for(int i = n-1 ; i>=0;i--){ - for(int j = n-1;j>=0;j--){ - //도착지 초기화. - if(i==n-1&&j==n-1){ - gdp[n-1][n-1] = 0; - sdp[n-1][n-1] = 0; - cdp[n-1][n-1] = 0; - continue; - } - //도착지 위칸 - if(i==n-2&&j==n-1){ - gdp[i][j] = 0; - sdp[i][j] = 1; - cdp[i][j] = 0; - continue; - } + for (int y = 0; y < n; y++) { + for (int x = 0; x < n; x++) { + if (!field[y][x]) continue; // 벽이면 스킵 - if(i==n-2&&j==n-2){ - gdp[i][j] = 0; - sdp[i][j] = 0; - cdp[i][j] = 1; - continue; + // 가로 -> 가로, 대각선 + if (canRightMove(x,y,n)) { + gdp[y][x + 1] += gdp[y][x]; // 가로 유지 + gdp[y][x + 1] += cdp[y][x]; // 대각선에서 가로 } - if(i==n-1&&j==n-2){ - gdp[i][j] = 1; - sdp[i][j] = 0; - cdp[i][j] = 0; - continue; + + // 세로 -> 세로, 대각선 + if (canDownMove(x,y,n)) { + sdp[y + 1][x] += sdp[y][x]; // 세로 유지 + sdp[y + 1][x] += cdp[y][x]; // 대각선에서 세로 } - for(int h=0;h<3;h++){ - int nextX = j + move[h][0]; - int nextY = i + move[h][1]; - if(h==0){ - if(canCrossMove(j,i,n)){ - cdp[i][j] += cdp[nextY][nextX] + gdp[nextY][nextX] + sdp[nextY][nextX]; - } - //가로 - }else if(h==1){ - if(canRightMove(j,i,n)){ - gdp[i][j] += cdp[nextY][nextX] + gdp[nextY][nextX]; - } - //세로 - }else{ - if(canDownMove(j,i,n)){ - sdp[i][j] += cdp[nextY][nextX] + sdp[nextY][nextX]; - } - } + // 대각선 -> 가로/세로/대각선 + if (canCrossMove(x,y,n)) { + cdp[y + 1][x + 1] += gdp[y][x]; // 가로 → 대각선 + cdp[y + 1][x + 1] += sdp[y][x]; // 세로 → 대각선 + cdp[y + 1][x + 1] += cdp[y][x]; // 대각선 → 대각선 } } } - long result = 0 ; + long result = gdp[n - 1][n - 1] + sdp[n - 1][n - 1] + cdp[n - 1][n - 1]; - result = gdp[0][0]; System.out.print(result); From 125157bcef3a079727ad2363dfeee8395d96ab0a Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 30 Sep 2025 23:06:56 +0900 Subject: [PATCH 043/115] =?UTF-8?q?[12851]=EC=88=A8=EB=B0=95=EA=BC=AD?= =?UTF-8?q?=EC=A7=88=202=20=EB=A9=94=EB=AA=A8=EB=A6=AC=20=EC=B4=88?= =?UTF-8?q?=EA=B3=BC=20=EC=8B=A4=ED=8C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon12851.java | 86 ++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon12851.java diff --git a/src/baekjoon/class4/BaekJoon12851.java b/src/baekjoon/class4/BaekJoon12851.java new file mode 100644 index 0000000..0782838 --- /dev/null +++ b/src/baekjoon/class4/BaekJoon12851.java @@ -0,0 +1,86 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; +import java.util.Comparator; +import java.util.PriorityQueue; +import java.util.StringTokenizer; + +public class BaekJoon12851 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + + + int from = Integer.parseInt(st.nextToken()); + + int to = Integer.parseInt(st.nextToken()); + + if(from>=to){ + System.out.println(from-to); + System.out.println(1); + return; + } + + bfs(from, to); + + } + + private static void bfs(int from, int to){ + PriorityQueue queue = new PriorityQueue<>( + Comparator.comparingInt(node->node.time) + ); + + queue.add(new Node(from,0)); + + int minTime = Integer.MAX_VALUE; + + int count = 0; + + while(!queue.isEmpty()){ + Node now = queue.poll(); + + //만약 최소 시간보다 초과한 경우 볼 필요가 없음. + if(now.time > minTime){ + continue; + } + + if(now.X == to){ + int time = now.time; + + if(time==minTime){ + count++; + } + + else if(time < minTime){ + minTime = time; + count = 1; + } + } + else if(now.X != to){ + queue.add(new Node(now.X +1,now.time+1)); + queue.add(new Node(now.X -1,now.time+1)); + queue.add(new Node(now.X * 2,now.time+1)); + } + } + + System.out.print(minTime+"\n"+count); + } + + static class Node{ + int X; + + int time; + + Node(int X, int time){ + this.X = X; + this.time = time; + } + } +} From fef43b117491f1f0b036089fbe67cacd286ce9b2 Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 30 Sep 2025 23:07:29 +0900 Subject: [PATCH 044/115] =?UTF-8?q?[12851]=20=EB=A9=94=EB=AA=A8=EB=A6=AC?= =?UTF-8?q?=20=EC=B4=88=EA=B3=BC=20=ED=95=B4=EA=B2=B0=EC=9D=84=20=EC=9C=84?= =?UTF-8?q?=ED=95=9C=20DP=20=EC=8B=9C=EB=8F=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon12851.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/baekjoon/class4/BaekJoon12851.java b/src/baekjoon/class4/BaekJoon12851.java index 0782838..38f5642 100644 --- a/src/baekjoon/class4/BaekJoon12851.java +++ b/src/baekjoon/class4/BaekJoon12851.java @@ -8,6 +8,7 @@ import java.util.PriorityQueue; import java.util.StringTokenizer; +//1회차 메모리 초과 public class BaekJoon12851 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); From 868a268e020fc80e7d35024c14c027d2e3396e0f Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 30 Sep 2025 23:28:37 +0900 Subject: [PATCH 045/115] =?UTF-8?q?[12851]=20=EC=88=A8=EB=B0=94=EA=BC=AD?= =?UTF-8?q?=EC=A7=88=202=20=20=ED=95=B4=EA=B2=B0=20-=20bfs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon12851.java | 65 ++++++++++++++------------ 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/src/baekjoon/class4/BaekJoon12851.java b/src/baekjoon/class4/BaekJoon12851.java index 38f5642..0ba9b87 100644 --- a/src/baekjoon/class4/BaekJoon12851.java +++ b/src/baekjoon/class4/BaekJoon12851.java @@ -3,12 +3,11 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import java.util.Arrays; -import java.util.Comparator; -import java.util.PriorityQueue; -import java.util.StringTokenizer; +import java.util.*; //1회차 메모리 초과 +//시도 변경 dp 대신 bfs를 하되 add 하기전 time이 minTime 보다 큰지 확인. +//Periority Queue -> Queue 변경 : 시간복잡도는 좀 버려도 공간 복잡도 살려보기 public class BaekJoon12851 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); @@ -33,45 +32,53 @@ public static void main(String[] args) throws IOException { } - private static void bfs(int from, int to){ - PriorityQueue queue = new PriorityQueue<>( - Comparator.comparingInt(node->node.time) - ); + private static void bfs(int from, int to) { - queue.add(new Node(from,0)); + int MAX = 100000; + int[] visited = new int[MAX + 1]; // -1이면 방문 안함, 아니면 방문 시간 기록 - int minTime = Integer.MAX_VALUE; + Arrays.fill(visited, -1); + + Queue queue = new LinkedList<>(); + queue.add(from); + visited[from] = 0; + int minTime = Integer.MAX_VALUE; int count = 0; - while(!queue.isEmpty()){ - Node now = queue.poll(); + while (!queue.isEmpty()) { + int now = queue.poll(); + + int time = visited[now]; - //만약 최소 시간보다 초과한 경우 볼 필요가 없음. - if(now.time > minTime){ + //목적지에 도착 + if (now == to) { + if (time < minTime) { + minTime = time; + count = 1; + } else if (time == minTime) { + count++; + } continue; } - if(now.X == to){ - int time = now.time; + //최소 시간보다도 클때 + if (time + 1 > minTime) continue; - if(time==minTime){ - count++; - } + int[] next = {now - 1, now + 1, now * 2}; - else if(time < minTime){ - minTime = time; - count = 1; + for (int nx : next) { + if (nx < 0 || nx > MAX) continue; + + //아직 방문을 하지 않았거나 또 방문을 했는 데 시간이 같다(같은 시간에 다른 경로로 왔다) + if (visited[nx] == -1 || visited[nx] == time + 1) { + visited[nx] = time + 1; + queue.add(nx); } } - else if(now.X != to){ - queue.add(new Node(now.X +1,now.time+1)); - queue.add(new Node(now.X -1,now.time+1)); - queue.add(new Node(now.X * 2,now.time+1)); - } } - - System.out.print(minTime+"\n"+count); + System.out.println(minTime); + System.out.println(count); } static class Node{ From 826d3e6049888a0d22eda426c809a50ab714a429 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 10 Oct 2025 22:23:38 +0900 Subject: [PATCH 046/115] =?UTF-8?q?[FEAT]=2012851=20=EB=A6=AC=ED=8C=A9?= =?UTF-8?q?=ED=84=B0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon12851.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/baekjoon/class4/BaekJoon12851.java b/src/baekjoon/class4/BaekJoon12851.java index 0ba9b87..30c7e31 100644 --- a/src/baekjoon/class4/BaekJoon12851.java +++ b/src/baekjoon/class4/BaekJoon12851.java @@ -84,6 +84,7 @@ private static void bfs(int from, int to) { static class Node{ int X; + int time; Node(int X, int time){ From 33b349602d1182f464ade407570ea4775d9ad57b Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 14 Oct 2025 21:10:23 +0900 Subject: [PATCH 047/115] =?UTF-8?q?[FEAT]=202025-10-14=20=EC=86=90?= =?UTF-8?q?=ED=92=80=EC=9D=B4=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon31654.java | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon31654.java diff --git a/src/baekjoon/bronze/BaekJoon31654.java b/src/baekjoon/bronze/BaekJoon31654.java new file mode 100644 index 0000000..7ea97a4 --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon31654.java @@ -0,0 +1,28 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon31654 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + + int a = Integer.parseInt(st.nextToken()); + int b = Integer.parseInt(st.nextToken()); + + if(a+b==Integer.parseInt(st.nextToken())){ + sb.append("correct!"); + }else{ + sb.append("wrong!"); + } + System.out.print(sb); + + } + +} From 4675160342d7a6b8ebc1826c934a555494416eb3 Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 14 Oct 2025 21:19:10 +0900 Subject: [PATCH 048/115] =?UTF-8?q?[9935]=20=EB=AC=B8=EC=9E=90=EC=97=B4=20?= =?UTF-8?q?=ED=8F=AD=EB=B0=9C=20-=20=EB=A9=94=EB=AA=A8=EB=A6=AC=20?= =?UTF-8?q?=EC=B4=88=EA=B3=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon9935.java | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/baekjoon/class4/BaekJoon9935.java diff --git a/src/baekjoon/class4/BaekJoon9935.java b/src/baekjoon/class4/BaekJoon9935.java new file mode 100644 index 0000000..b99cb97 --- /dev/null +++ b/src/baekjoon/class4/BaekJoon9935.java @@ -0,0 +1,27 @@ +package baekjoon.class4; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class BaekJoon9935 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + String text = br.readLine(); + + String boomText = br.readLine(); + + + int preTextLength; + do{ + preTextLength = text.length(); + text = text.replaceAll(boomText,""); + if(text.isEmpty()) break; + }while(preTextLength!=text.length()); + + System.out.println((text.isEmpty())?"FRULA":text); + } +} From af6620ff3997ea47afc7a65e1b1c4a048d6ef10d Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 14 Oct 2025 21:39:36 +0900 Subject: [PATCH 049/115] =?UTF-8?q?[9935]=20=EB=AC=B8=EC=9E=90=EC=97=B4=20?= =?UTF-8?q?=ED=8F=AD=EB=B0=9C=20-=20Stack=20=EB=B0=A9=EC=8B=9D=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class4/BaekJoon9935.java | 43 ++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/src/baekjoon/class4/BaekJoon9935.java b/src/baekjoon/class4/BaekJoon9935.java index b99cb97..2d5e0b2 100644 --- a/src/baekjoon/class4/BaekJoon9935.java +++ b/src/baekjoon/class4/BaekJoon9935.java @@ -3,6 +3,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.util.Stack; public class BaekJoon9935 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); @@ -15,13 +16,41 @@ public static void main(String[] args) throws IOException { String boomText = br.readLine(); - int preTextLength; - do{ - preTextLength = text.length(); - text = text.replaceAll(boomText,""); - if(text.isEmpty()) break; - }while(preTextLength!=text.length()); + Stack stack = new Stack<>(); + + A : for(char now : text.toCharArray()){ + if(now==boomText.charAt(boomText.length()-1)){ + Stack transaction = new Stack<>(); + for(int i = boomText.length()-2; i>=0;i--){ + if(stack.isEmpty()){ + rollback(stack, transaction); + stack.push(now); + continue A; + } + char stackPop = stack.pop(); + transaction.push(stackPop); + if(boomText.charAt(i)!=stackPop){ + rollback(stack,transaction); + stack.push(now); + continue A; + } + } + }else{ + stack.push(now); + } + } + + while(!stack.isEmpty()){ + sb.append(stack.pop()); + } + sb.reverse(); + + System.out.println(sb.toString().isEmpty()?"FRULA":sb); + } - System.out.println((text.isEmpty())?"FRULA":text); + private static void rollback(Stack stack, Stack transaction) { + while(!transaction.isEmpty()){ + stack.push(transaction.pop()); + } } } From 9d3de7aabb79fc9104add68f4ad23f288ba4a43c Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 16 Oct 2025 22:37:07 +0900 Subject: [PATCH 050/115] =?UTF-8?q?[34073]=20DORO=20=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon34073.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon34073.java diff --git a/src/baekjoon/bronze/BaekJoon34073.java b/src/baekjoon/bronze/BaekJoon34073.java new file mode 100644 index 0000000..39feecd --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon34073.java @@ -0,0 +1,21 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon34073 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public static void main(String[] args) throws IOException { + int a = Integer.parseInt(br.readLine()); + + StringTokenizer st = new StringTokenizer(br.readLine()); + + while(st.hasMoreTokens()){ + System.out.print(st.nextToken()+"DORO "); + } + } +} From 70366177849952920361ef0bc07056de8a59074f Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 28 Oct 2025 09:05:39 +0900 Subject: [PATCH 051/115] =?UTF-8?q?[FEAT]=2020215=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/BaekJoon20215.java | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/baekjoon/bronze/BaekJoon20215.java diff --git a/src/baekjoon/bronze/BaekJoon20215.java b/src/baekjoon/bronze/BaekJoon20215.java new file mode 100644 index 0000000..776c17f --- /dev/null +++ b/src/baekjoon/bronze/BaekJoon20215.java @@ -0,0 +1,27 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class BaekJoon20215 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + + int w = Integer.parseInt(st.nextToken()); + + int h = Integer.parseInt(st.nextToken()); + + int sq = w + h; + + double dagak = Math.sqrt(Math.pow(w,2)+Math.pow(h,2)); + + System.out.printf("%.6f", sq-dagak); + } +} From 4d427555f9b4a1b1c04b72d3cc24e27ddfe787d7 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 1 Jan 2026 23:05:32 +0900 Subject: [PATCH 052/115] =?UTF-8?q?28235=20=ED=92=80=EC=9D=B4:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/B28235.java | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/baekjoon/bronze/B28235.java diff --git a/src/baekjoon/bronze/B28235.java b/src/baekjoon/bronze/B28235.java new file mode 100644 index 0000000..af12e98 --- /dev/null +++ b/src/baekjoon/bronze/B28235.java @@ -0,0 +1,32 @@ +package baekjoon.bronze; + +import java.util.Scanner; + +public class B28235 { + + public static void main(String[] args){ + Scanner sc = new Scanner(System.in); + + String input = sc.nextLine(); + + String result= ""; + + switch (input){ + case "SONGDO" : + result = "HIGHSCHOOL"; + break; + case "CODE" : + result = "MASTER"; + break; + case "2023" : + result = "0611"; + break; + case "ALGORITHM" : + result = "CONTEST"; + break; + } + + System.out.print(result); + } + +} From 57ec5271bf9097fd048de835c27d21be00f78213 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 2 Jan 2026 22:37:36 +0900 Subject: [PATCH 053/115] =?UTF-8?q?[Baekjoon]=2034721=20=EC=97=AD=EC=82=AC?= =?UTF-8?q?=EB=A5=BC=20=EA=B1=B8=EC=9C=BC=EB=A9=B4=20=EB=8F=99=EA=B5=AD?= =?UTF-8?q?=EC=9D=B4=20=EB=B3=B4=EC=9D=B4=EA=B3=A0=20=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/B34721.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/baekjoon/bronze/B34721.java diff --git a/src/baekjoon/bronze/B34721.java b/src/baekjoon/bronze/B34721.java new file mode 100644 index 0000000..e451053 --- /dev/null +++ b/src/baekjoon/bronze/B34721.java @@ -0,0 +1,17 @@ +package baekjoon.bronze; + +import java.util.Scanner; + +public class B34721 { + public static void main(String[] args){ + Scanner scan = new Scanner(System.in); + + int i=scan.nextInt(); + + while(i-- != 0){ + System.out.println("I love DGU"); + } + + scan.close(); + } +} From 08eb98ddd074338f93fdf61a8d3b5b828279d96c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=83=9C=EC=99=84?= <100819044+programofktw@users.noreply.github.com> Date: Wed, 14 Jan 2026 23:38:31 +0900 Subject: [PATCH 054/115] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b858b2c..9b46d7b 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 알고리즘 - bfs - [BFS 코드 구현](https://github.com/programofktw/AlgorithmStudy/pull/127) - - + - 우선순위 bfs 정리 - dfs - [DFS 코드 구현](https://github.com/programofktw/AlgorithmStudy/pull/134) @@ -25,3 +25,4 @@ - [HashMap 구현](https://github.com/programofktw/AlgorithmStudy/pull/135) + From 0befd32bbb51c495fe6ec03f84301f80de74a6a5 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 15 Jan 2026 16:20:04 +0900 Subject: [PATCH 055/115] chore: rename bfs file(graph, tree) --- src/basic/bfs/{BFS.java => GraphBfs.java} | 2 +- src/basic/{algorithm/BFS.java => bfs/TreeBFS.java} | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) rename src/basic/bfs/{BFS.java => GraphBfs.java} (98%) rename src/basic/{algorithm/BFS.java => bfs/TreeBFS.java} (77%) diff --git a/src/basic/bfs/BFS.java b/src/basic/bfs/GraphBfs.java similarity index 98% rename from src/basic/bfs/BFS.java rename to src/basic/bfs/GraphBfs.java index d1e78f7..f9c142c 100644 --- a/src/basic/bfs/BFS.java +++ b/src/basic/bfs/GraphBfs.java @@ -7,7 +7,7 @@ import java.util.Queue; import java.util.StringTokenizer; -public class BFS { +public class GraphBfs { private static boolean[][] field; private static boolean[][] visited; diff --git a/src/basic/algorithm/BFS.java b/src/basic/bfs/TreeBFS.java similarity index 77% rename from src/basic/algorithm/BFS.java rename to src/basic/bfs/TreeBFS.java index 48c3c85..b782d49 100644 --- a/src/basic/algorithm/BFS.java +++ b/src/basic/bfs/TreeBFS.java @@ -1,13 +1,10 @@ -package basic.algorithm; +package basic.bfs; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; +import basic.algorithm.AbstractTreeAlogorithm; import java.util.LinkedList; import java.util.Queue; -import java.util.StringTokenizer; -public class BFS extends AbstractTreeAlogorithm{ +public class TreeBFS extends AbstractTreeAlogorithm { public static void main(String[] args){ printAsBinaryTree(); From fcb574174352470df8bbbb5cc075ad630938770d Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 15 Jan 2026 17:39:22 +0900 Subject: [PATCH 056/115] =?UTF-8?q?BASIC=20:=20BFS,=20DFS=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../algorithm/AbstractGraphAlgorithm.java | 70 ++++++++++++++ src/basic/bfs/GraphBFS.java | 73 +++++++++++++++ src/basic/bfs/GraphBfs.java | 91 ------------------- src/basic/dfs/GraphDFS.java | 46 ++++++++++ .../{algorithm/DFS.java => dfs/TreeDFS.java} | 6 +- 5 files changed, 192 insertions(+), 94 deletions(-) create mode 100644 src/basic/algorithm/AbstractGraphAlgorithm.java create mode 100644 src/basic/bfs/GraphBFS.java delete mode 100644 src/basic/bfs/GraphBfs.java create mode 100644 src/basic/dfs/GraphDFS.java rename src/basic/{algorithm/DFS.java => dfs/TreeDFS.java} (82%) diff --git a/src/basic/algorithm/AbstractGraphAlgorithm.java b/src/basic/algorithm/AbstractGraphAlgorithm.java new file mode 100644 index 0000000..2303114 --- /dev/null +++ b/src/basic/algorithm/AbstractGraphAlgorithm.java @@ -0,0 +1,70 @@ +package basic.algorithm; + +import java.io.BufferedReader; +import java.io.IOException; + +public class AbstractGraphAlgorithm { + protected static int[][] field; + + protected static boolean[][] visited; + + public void init(BufferedReader br) throws IOException { + System.out.println("그래프의 크기는 가로 N, 세로 M으로 적용됩니다."); + + System.out.print("세로 N의 크기를 입력해주세요. : "); + int N = Integer.parseInt(br.readLine()); + + System.out.print("가로 M의 크기를 입력해주세요. : "); + int M = Integer.parseInt(br.readLine()); + + field = new int[N][M]; + + visited = new boolean[N][M]; + } + + public void input(BufferedReader br) throws IOException { + System.out.printf("그래프를 입력해주세요.\n 입력은 %d X %d의 크기로 작성해주시고, 열은 Enter, 행은 띄어쓰기로 구분해주세요.\n", field.length, field[0].length); + + for (int i = 0 ; i< field.length ; i++) { + String line = br.readLine(); + + String[] rows = line.split(" "); + + int col =0; + + if (rows.length != field[0].length) { + System.out.printf("%d번째 열의 입력값이 이상합니다. 확인해주세요.", i); + throw new IOException(); + } + for(String row : rows) { + field[i][col++] = Integer.parseInt(row); + } + + } + } + + public void printAsGraph(){ + for (int[] ints : field) { + for (int anInt : ints) { + System.out.print(anInt + " "); + } + System.out.println(); + } + System.out.println(); + } + + public void printAsVisited(){ + for(boolean[] row : visited){ + for (boolean bol : row) { + if(bol){ + System.out.print("O "); + }else{ + System.out.print("X "); + } + } + System.out.println(); + } + + System.out.println(); + } +} diff --git a/src/basic/bfs/GraphBFS.java b/src/basic/bfs/GraphBFS.java new file mode 100644 index 0000000..f15590d --- /dev/null +++ b/src/basic/bfs/GraphBFS.java @@ -0,0 +1,73 @@ +package basic.bfs; + +import basic.algorithm.AbstractGraphAlgorithm; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.LinkedList; +import java.util.Queue; + +public class GraphBFS extends AbstractGraphAlgorithm { + + private static final int[] dx = {-1, 1, 0, 0}; // 상하좌우 + private static final int[] dy = {0, 0, -1, 1}; + + public static void main(String[] args) throws IOException { + GraphBFS bfs = new GraphBFS(); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + bfs.init(br); + bfs.input(br); + bfs.printAsGraph(); + + System.out.println("BFS 탐색 시작 (시작점 입력): "); + System.out.print("행(row): "); + int startRow = Integer.parseInt(br.readLine()); + System.out.print("열(col): "); + int startCol = Integer.parseInt(br.readLine()); + + bfs.bfs(startRow, startCol); + } + + private void bfs(int x, int y) { + Queue queue = new LinkedList<>(); + + // 시작점이 이동 불가능한 경우 + if (field[x][y] != 1) { + System.out.println("시작 지점이 이동 불가능합니다."); + return; + } + + visited[x][y] = true; + printAsVisited(); + queue.add(new Node(x, y)); + + while (!queue.isEmpty()) { + Node now = queue.poll(); + + for (int i = 0; i < 4; i++) { + int nx = now.x + dx[i]; + int ny = now.y + dy[i]; + + if (nx >= 0 && nx < field.length && + ny >= 0 && ny < field[0].length && + !visited[nx][ny] && field[nx][ny] == 1) { + + visited[nx][ny] = true; + printAsVisited(); + queue.add(new Node(nx, ny)); + } + } + } + } + + private static class Node { + int x; + int y; + + Node(int x, int y) { + this.x = x; + this.y = y; + } + } +} diff --git a/src/basic/bfs/GraphBfs.java b/src/basic/bfs/GraphBfs.java deleted file mode 100644 index f9c142c..0000000 --- a/src/basic/bfs/GraphBfs.java +++ /dev/null @@ -1,91 +0,0 @@ -package basic.bfs; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.LinkedList; -import java.util.Queue; -import java.util.StringTokenizer; - -public class GraphBfs { - private static boolean[][] field; - - private static boolean[][] visited; - - public static void main(String[] args) throws IOException { - BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); - - StringTokenizer st = new StringTokenizer(br.readLine(), " "); - - int x = Integer.parseInt(st.nextToken()); - - int y = Integer.parseInt(st.nextToken()); - - field = new boolean[y][x]; - - visited = new boolean[y][x]; - - for(int i = 0 ; i queue = new LinkedList<>(); - - queue.add(new Node(0,0)); - - visited[0][0] = true; - - if (!field[0][0]&&!field[field.length-1][field[0].length-1]) { - System.out.println("No"); - return; - } - - while(!queue.isEmpty()){ - Node now = queue.poll(); - - if(now.x == field[0].length-1&&now.y==field.length-1){ - System.out.print("Yes"); - return; - } - - if(checkIndex(now.x+1,now.y)&&!visited[now.y][now.x+1]&&field[now.y][now.x+1]){ - visited[now.y][now.x+1] = true; - queue.add(new Node(now.x+1,now.y)); - } - if(checkIndex(now.x,now.y+1)&&!visited[now.y+1][now.x]&&field[now.y+1][now.x]){ - visited[now.y+1][now.x] = true; - queue.add(new Node(now.x,now.y+1)); - } - } - - System.out.print("No"); - } - - private static boolean checkIndex(int x, int y){ - if (y < 0 || y >= field.length) return false; - if (x < 0 || x >= field[0].length) return false; - - return true; - } - - private static class Node{ - int x; - int y; - - public Node(int x, int y){ - this.x = x; - this.y = y; - } - } -} diff --git a/src/basic/dfs/GraphDFS.java b/src/basic/dfs/GraphDFS.java new file mode 100644 index 0000000..6790589 --- /dev/null +++ b/src/basic/dfs/GraphDFS.java @@ -0,0 +1,46 @@ +package basic.dfs; + +import basic.algorithm.AbstractGraphAlgorithm; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class GraphDFS extends AbstractGraphAlgorithm { + + public static void main(String[] args) throws IOException { + GraphDFS dfs = new GraphDFS(); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + dfs.init(br); + dfs.input(br); + dfs.printAsGraph(); + + System.out.println("DFS 탐색 시작 (시작점 입력): "); + System.out.print("행(row): "); + int startRow = Integer.parseInt(br.readLine()); + System.out.print("열(col): "); + int startCol = Integer.parseInt(br.readLine()); + + dfs.dfs(startRow, startCol); + } + + private static final int[] dx = {-1, 1, 0, 0}; // 상하좌우 + private static final int[] dy = {0, 0, -1, 1}; + + private void dfs(int x, int y) { + visited[x][y] = true; + printAsVisited(); + // 4방향 탐색 + for (int i = 0; i < 4; i++) { + int nx = x + dx[i]; + int ny = y + dy[i]; + + // 경계 체크 + 방문 안함 + 이동 가능 (1인 경우) + if (nx >= 0 && nx < field.length && + ny >= 0 && ny < field[0].length && + !visited[nx][ny] && field[nx][ny] == 1) { + dfs(nx, ny); + } + } + } +} diff --git a/src/basic/algorithm/DFS.java b/src/basic/dfs/TreeDFS.java similarity index 82% rename from src/basic/algorithm/DFS.java rename to src/basic/dfs/TreeDFS.java index 7a5a38a..c8448ff 100644 --- a/src/basic/algorithm/DFS.java +++ b/src/basic/dfs/TreeDFS.java @@ -1,6 +1,6 @@ -package basic.algorithm; +package basic.dfs; -import java.io.FilterOutputStream; +import basic.algorithm.AbstractTreeAlogorithm; /* @@ -10,7 +10,7 @@ dfs 의 경우 0 1 3 4 5 6 */ -public class DFS extends AbstractTreeAlogorithm{ +public class TreeDFS extends AbstractTreeAlogorithm { public static void main(String[] args){ printAsBinaryTree(); From 9a068be2991734d966a9725b2d123bee121505d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=83=9C=EC=99=84?= <100819044+programofktw@users.noreply.github.com> Date: Fri, 16 Jan 2026 23:27:37 +0900 Subject: [PATCH 057/115] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 9b46d7b..1eb0a1a 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ # 알고리즘 - bfs - [BFS 코드 구현](https://github.com/programofktw/AlgorithmStudy/pull/127) + - 트리 BFS + - 2차원 배열 BFS - 우선순위 bfs 정리 - dfs @@ -26,3 +28,4 @@ + From 5a8d023c1a6919bf8e598474a17f21a27c567beb Mon Sep 17 00:00:00 2001 From: programofktw Date: Sat, 17 Jan 2026 22:54:58 +0900 Subject: [PATCH 058/115] =?UTF-8?q?baekjoon=2028691=20=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=EB=B3=B4=ED=98=B8=ED=95=99=EB=B6=80=20=EB=8F=99=EC=95=84?= =?UTF-8?q?=EB=A6=AC=20=EC=86=8C=EA=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/B28691.java | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/baekjoon/bronze/B28691.java diff --git a/src/baekjoon/bronze/B28691.java b/src/baekjoon/bronze/B28691.java new file mode 100644 index 0000000..305e181 --- /dev/null +++ b/src/baekjoon/bronze/B28691.java @@ -0,0 +1,33 @@ +package baekjoon.bronze; + +import java.util.Scanner; + +public class B28691 { + public static void main(String[] args) { + Scanner scan = new Scanner(System.in); + + String s = scan.nextLine(); + String result = ""; + + switch (s) { + case "M": + result = "MatKor"; + break; + case "W": + result = "WiCys"; + break; + case "C": + result = "CyKor"; + break; + case "A": + result = "AlKor"; + break; + case "$": + result = "$clear"; + break; + } + + System.out.print(result); + } + +} From fbcfde92cdd2826336008aeeb62be09bf635a0bd Mon Sep 17 00:00:00 2001 From: programofktw Date: Mon, 19 Jan 2026 23:56:17 +0900 Subject: [PATCH 059/115] baekjoon34281 solved --- src/baekjoon/bronze/B34281.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/baekjoon/bronze/B34281.java diff --git a/src/baekjoon/bronze/B34281.java b/src/baekjoon/bronze/B34281.java new file mode 100644 index 0000000..e051d2b --- /dev/null +++ b/src/baekjoon/bronze/B34281.java @@ -0,0 +1,21 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B34281 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + int w = Integer.parseInt(br.readLine()); + int h = Integer.parseInt(br.readLine()); + + sb.append(w*h); + + System.out.print(sb); + } + +} From bc659982e257764f2aa44997a70baa6fd150a881 Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 20 Jan 2026 23:00:26 +0900 Subject: [PATCH 060/115] =?UTF-8?q?baekjoon=201926=20=EA=B7=B8=EB=A6=BC=20?= =?UTF-8?q?solved=20-=20=EC=82=AC=EC=9A=A9=20=EA=B8=B0=EC=88=A0=20BFS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/silver/B1926.java | 125 +++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 src/baekjoon/silver/B1926.java diff --git a/src/baekjoon/silver/B1926.java b/src/baekjoon/silver/B1926.java new file mode 100644 index 0000000..16c14a9 --- /dev/null +++ b/src/baekjoon/silver/B1926.java @@ -0,0 +1,125 @@ +package baekjoon.silver; + +import java.awt.desktop.PreferencesEvent; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.LinkedList; +import java.util.Queue; +import java.util.StringTokenizer; + +public class B1926 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + private static boolean[][] field; + + private static boolean[][] visited; + + private static Queue queue = new LinkedList<>(); + + private static int artNum = 0; + private static int maxNum =0; + + private static void input() throws IOException { + StringTokenizer st; + for(int i = 0; i< field.length;i++){ + int j = 0; + st= new StringTokenizer(br.readLine(), " "); + + while(st.hasMoreTokens()){ + field[i][j++] = st.nextToken().equals("1"); + } + } + } + + public static void main(String[] args) throws IOException { + + StringTokenizer st = new StringTokenizer(br.readLine(), " "); + + int n = Integer.parseInt(st.nextToken()); + + int m = Integer.parseInt(st.nextToken()); + + field = new boolean[n][m]; + + input(); + + visited = new boolean[n][m]; + + for(int i = 0; i < field.length;i++){ + for(int j = 0 ; j maxNum){ + maxNum = count; + } + } + + private static boolean checkPosition(int y, int x){ + if(y<0||y>=field.length){ + return false; + } + if(x<0||x>=field[0].length){ + return false; + } + return true; + } + + + + + + private static class Node{ + int x; + int y; + + Node(int y, int x){ + this.x = x; + this.y = y; + } + } +} From b334091ac7eef4b855bdee4d231a42095dac6037 Mon Sep 17 00:00:00 2001 From: programofktw Date: Wed, 21 Jan 2026 22:43:45 +0900 Subject: [PATCH 061/115] baekjoon 29736 --- src/baekjoon/bronze/B29736.java | 42 +++++++++++++++++++++++++++++++++ src/baekjoon/silver/B1926.java | 4 ++-- 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 src/baekjoon/bronze/B29736.java diff --git a/src/baekjoon/bronze/B29736.java b/src/baekjoon/bronze/B29736.java new file mode 100644 index 0000000..d95c28d --- /dev/null +++ b/src/baekjoon/bronze/B29736.java @@ -0,0 +1,42 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B29736 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + String[] input = br.readLine().split(" "); + + int A = Integer.parseInt(input[0]); + int B = Integer.parseInt(input[1]); + + input = br.readLine().split(" "); + + int K = Integer.parseInt(input[0]); + int X = Integer.parseInt(input[1]); + + int count = 0; + + for(int i = K-X; i<=K+X;i++){ + if(i>=A&&i<=B){ + count++; + } + } + + if(count==0){ + sb.append("IMPOSSIBLE"); + }else{ + sb.append(count); + } + + System.out.print(sb); + + } + +} diff --git a/src/baekjoon/silver/B1926.java b/src/baekjoon/silver/B1926.java index 16c14a9..77b1cbd 100644 --- a/src/baekjoon/silver/B1926.java +++ b/src/baekjoon/silver/B1926.java @@ -1,6 +1,5 @@ package baekjoon.silver; -import java.awt.desktop.PreferencesEvent; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -18,7 +17,6 @@ public class B1926 { private static boolean[][] visited; - private static Queue queue = new LinkedList<>(); private static int artNum = 0; private static int maxNum =0; @@ -71,6 +69,8 @@ public static void main(String[] args) throws IOException { private static int[] dy = {0,-1,0,1}; private static void bfs(int y, int x){ + Queue queue = new LinkedList<>(); + queue.add(new Node(y,x)); int count=0; From d181d7f6dbfdfcf45b5dacf5a2f2d06e30817e5e Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 22 Jan 2026 23:30:59 +0900 Subject: [PATCH 062/115] baekjoon 26560 solved --- src/baekjoon/bronze/B26560.java | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/baekjoon/bronze/B26560.java diff --git a/src/baekjoon/bronze/B26560.java b/src/baekjoon/bronze/B26560.java new file mode 100644 index 0000000..33bf02d --- /dev/null +++ b/src/baekjoon/bronze/B26560.java @@ -0,0 +1,27 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B26560 { + + + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + int n = Integer.parseInt(br.readLine()); + + for(int i = 0; i < n; i++){ + String s = br.readLine(); + + if(s.charAt(s.length()-1) =='.'){ + System.out.println(s); + }else{ + System.out.println(s+"."); + } + } + } + +} From 2c16fe13c92e5be200517a77d9f703332c691a5e Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 23 Jan 2026 23:30:02 +0900 Subject: [PATCH 063/115] baekjoon 10102 --- src/baekjoon/bronze/B10102.java | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/baekjoon/bronze/B10102.java diff --git a/src/baekjoon/bronze/B10102.java b/src/baekjoon/bronze/B10102.java new file mode 100644 index 0000000..63ec60d --- /dev/null +++ b/src/baekjoon/bronze/B10102.java @@ -0,0 +1,35 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B10102 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + br.readLine(); + + String st = br.readLine(); + + int total = st.length(); + + st = st.replace("A",""); + + int BNum = st.length(); + + double mid = (double)total/2; + + if(mid>BNum){ + sb.append("A"); + }else if(mid == BNum){ + sb.append("Tie"); + }else{ + sb.append("B"); + } + + System.out.print(sb); + } +} From 0c5c41d4a041fe98504d9fb7b852d19c2fd0ac84 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 23 Jan 2026 23:36:12 +0900 Subject: [PATCH 064/115] baekjoon 10102 refactor --- src/baekjoon/bronze/B10102.java | 39 +++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/src/baekjoon/bronze/B10102.java b/src/baekjoon/bronze/B10102.java index 63ec60d..0c70865 100644 --- a/src/baekjoon/bronze/B10102.java +++ b/src/baekjoon/bronze/B10102.java @@ -3,6 +3,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.util.StringTokenizer; public class B10102 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); @@ -10,24 +11,44 @@ public class B10102 { static StringBuilder sb = new StringBuilder(); public static void main(String[] args) throws IOException { +// br.readLine(); +// +// String st = br.readLine(); +// +// int total = st.length(); +// +// st = st.replace("A",""); +// +// int BNum = st.length(); +// +// double mid = (double)total/2; +// +// if(mid>BNum){ +// sb.append("A"); +// }else if(mid == BNum){ +// sb.append("Tie"); +// }else{ +// sb.append("B"); +// } +// +// System.out.print(sb); br.readLine(); - String st = br.readLine(); + String s = br.readLine(); - int total = st.length(); + int count=0; - st = st.replace("A",""); + for(int i =0;iBNum){ - sb.append("A"); - }else if(mid == BNum){ + if(count==0){ sb.append("Tie"); }else{ - sb.append("B"); + sb.append((count>0)?"A":"B"); } System.out.print(sb); From 142a6658f2b3412704cdace8ba8a58881e9b1018 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 29 Jan 2026 21:29:17 +0900 Subject: [PATCH 065/115] B31450 solved --- src/baekjoon/bronze/B31450.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/baekjoon/bronze/B31450.java diff --git a/src/baekjoon/bronze/B31450.java b/src/baekjoon/bronze/B31450.java new file mode 100644 index 0000000..03fe56b --- /dev/null +++ b/src/baekjoon/bronze/B31450.java @@ -0,0 +1,17 @@ +package baekjoon.bronze; + +import java.util.Scanner; + +public class B31450 { + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + int M = sc.nextInt(); + + int K = sc.nextInt(); + + System.out.print((M%K)==0?"Yes":"No"); + } + +} From dd80e56e01e85d8556adf848645414858d95011d Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 29 Jan 2026 23:01:00 +0900 Subject: [PATCH 066/115] =?UTF-8?q?7562=20=EB=82=98=EC=9D=B4=ED=8A=B8?= =?UTF-8?q?=EC=9D=98=20=EC=9D=B4=EB=8F=99=20solved?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/silver/B7562.java | 84 ++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/baekjoon/silver/B7562.java diff --git a/src/baekjoon/silver/B7562.java b/src/baekjoon/silver/B7562.java new file mode 100644 index 0000000..34bdbf4 --- /dev/null +++ b/src/baekjoon/silver/B7562.java @@ -0,0 +1,84 @@ +package baekjoon.silver; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Comparator; +import java.util.Objects; +import java.util.PriorityQueue; + +public class B7562 { + + private static boolean[][] visited; + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static int goalX; + private static int goalY; + + private static int[] moveX = {-1,1,-2,-2,-1,1,2,2}; + private static int[] moveY = {-2,-2,-1,1,2,2,-1,1}; + + private static PriorityQueue queue ; + + public static void main(String[] args) throws IOException { + + int testCase = Integer.parseInt(br.readLine()); + + for(int t=0;t(Comparator.comparing(o->o.count)); + + String input = br.readLine(); + + int x = Integer.parseInt(input.split(" ")[0]); + int y = Integer.parseInt(input.split(" ")[1]); + + queue.add(new Node(x,y,0)); + + input = br.readLine(); + goalX = Integer.parseInt(input.split(" ")[0]); + goalY = Integer.parseInt(input.split(" ")[1]); + + while(!queue.isEmpty()){ + Node now = queue.poll(); + + if(visited[now.y][now.x]){ + continue; + } + + visited[now.y][now.x] = true; + if(now.x == goalX && now.y == goalY){ + System.out.println(now.count); + break; + } + for(int i = 0 ; i < moveX.length ; i++){ + if(canMove(now.x+moveX[i],now.y+moveY[i])){ + queue.add(new Node(now.x+moveX[i],now.y+moveY[i],now.count+1)); + } + } + } + } + + } + + static boolean canMove(int x, int y){ + return x >= 0 && y >= 0 && x < visited.length && y < visited.length && !visited[y][x]; + } + + private static class Node{ + int x; + int y; + int count; + + Node(int x, int y, int count){ + this.x = x; + this.y = y; + this.count = count; + } + } + +} From d9d657dcfb7408a84cb2aa270bf9498b44fb23ad Mon Sep 17 00:00:00 2001 From: programofktw Date: Sat, 31 Jan 2026 23:52:34 +0900 Subject: [PATCH 067/115] 1037 solved --- src/baekjoon/bronze/B1037.java | 43 ++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/baekjoon/bronze/B1037.java diff --git a/src/baekjoon/bronze/B1037.java b/src/baekjoon/bronze/B1037.java new file mode 100644 index 0000000..f5b9f4e --- /dev/null +++ b/src/baekjoon/bronze/B1037.java @@ -0,0 +1,43 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.PriorityQueue; + +public class B1037 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int N = Integer.parseInt(br.readLine()); + + String[] inputs = br.readLine().split(" "); + + + long min = Long.MAX_VALUE; + + long max = Long.MIN_VALUE; + + for(String input : inputs){ + long now = Long.parseLong(input); + + if(min>now) min = now; + if(max Date: Mon, 2 Feb 2026 23:04:42 +0900 Subject: [PATCH 068/115] 5358 solved --- src/baekjoon/bronze/B5358.java | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/baekjoon/bronze/B5358.java diff --git a/src/baekjoon/bronze/B5358.java b/src/baekjoon/bronze/B5358.java new file mode 100644 index 0000000..a0db2c3 --- /dev/null +++ b/src/baekjoon/bronze/B5358.java @@ -0,0 +1,39 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B5358 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int iegap = 'i'-'e'; + + while(true){ + String input = br.readLine(); + + if(input==null){ + break; + } + + for(char now : input.toCharArray()){ + if(now == 'i' || now == 'I'){ + sb.append((char)(now-iegap)); + }else if(now=='e'||now=='E'){ + sb.append(((char)(now+iegap))); + }else{ + sb.append(now); + } + } + sb.append("\n"); + } + + System.out.print(sb); + } + +} From 8099921edd0f24fbe914456d33b1ac3b009da009 Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 3 Feb 2026 22:37:29 +0900 Subject: [PATCH 069/115] B18698 sovled --- src/baekjoon/bronze/B18698.java | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/baekjoon/bronze/B18698.java diff --git a/src/baekjoon/bronze/B18698.java b/src/baekjoon/bronze/B18698.java new file mode 100644 index 0000000..3d96376 --- /dev/null +++ b/src/baekjoon/bronze/B18698.java @@ -0,0 +1,37 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B18698 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int testCase = Integer.parseInt(br.readLine()); + + A:for(int i = 0; i< testCase;i++){ + int result = 0; + + char[] array = br.readLine().toCharArray(); + + for(char now : array){ + if(now=='U') result++; + else{ + sb.append(result).append("\n"); + continue A; + } + } + + sb.append(result).append("\n"); + } + + System.out.print(sb); + + } + +} From f2afaf2fc8d8d99bea4d1328064ea170f92bd7fc Mon Sep 17 00:00:00 2001 From: programofktw Date: Wed, 4 Feb 2026 22:44:28 +0900 Subject: [PATCH 070/115] 9316 solved --- src/baekjoon/bronze/B9316.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/baekjoon/bronze/B9316.java diff --git a/src/baekjoon/bronze/B9316.java b/src/baekjoon/bronze/B9316.java new file mode 100644 index 0000000..3bd159f --- /dev/null +++ b/src/baekjoon/bronze/B9316.java @@ -0,0 +1,23 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B9316 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int n = Integer.parseInt(br.readLine()); + + for(int i = 1 ;i<=n;i++){ + sb.append(String.format("Hello World, Judge %d!",i)).append("\n"); + } + + System.out.print(sb); + } + +} From 14c1aa47a8b9285f747fd88109152bb857406de7 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 5 Feb 2026 23:38:23 +0900 Subject: [PATCH 071/115] 25311 solved --- src/baekjoon/bronze/B25311.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/baekjoon/bronze/B25311.java diff --git a/src/baekjoon/bronze/B25311.java b/src/baekjoon/bronze/B25311.java new file mode 100644 index 0000000..701c3af --- /dev/null +++ b/src/baekjoon/bronze/B25311.java @@ -0,0 +1,8 @@ +package baekjoon.bronze; + +public class B25311 { + public static void main(String[] args) { + System.out.println("A"); + } + +} From beabb2dc4e1e5367fee0f8ce28e8471605e8c213 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 6 Feb 2026 22:39:22 +0900 Subject: [PATCH 072/115] B1004 sovled --- src/baekjoon/silver/B1004.java | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/baekjoon/silver/B1004.java diff --git a/src/baekjoon/silver/B1004.java b/src/baekjoon/silver/B1004.java new file mode 100644 index 0000000..40bad53 --- /dev/null +++ b/src/baekjoon/silver/B1004.java @@ -0,0 +1,47 @@ +package baekjoon.silver; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class B1004 { + public static void main(String[] args) throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringBuilder sb = new StringBuilder(); + + int T = Integer.parseInt(br.readLine()); + + while (T-- > 0) { + StringTokenizer st = new StringTokenizer(br.readLine()); + int x1 = Integer.parseInt(st.nextToken()); + int y1 = Integer.parseInt(st.nextToken()); + int x2 = Integer.parseInt(st.nextToken()); + int y2 = Integer.parseInt(st.nextToken()); + + int n = Integer.parseInt(br.readLine()); + int count = 0; + + for (int i = 0; i < n; i++) { + st = new StringTokenizer(br.readLine()); + int cx = Integer.parseInt(st.nextToken()); + int cy = Integer.parseInt(st.nextToken()); + int r = Integer.parseInt(st.nextToken()); + + boolean startIn = isInside(x1, y1, cx, cy, r); + boolean endIn = isInside(x2, y2, cx, cy, r); + + if (startIn ^ endIn) count++; + } + + sb.append(count).append('\n'); + } + + System.out.print(sb); + } + + static boolean isInside(int x, int y, int cx, int cy, int r) { + long dx = x - cx; + long dy = y - cy; + return dx * dx + dy * dy < (long) r * r; + } +} From 6c49d20da1ce37a9bc3793eb0abc39958fdb75c7 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sat, 7 Feb 2026 22:49:32 +0900 Subject: [PATCH 073/115] 20254 solved --- src/baekjoon/bronze/B20254.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/baekjoon/bronze/B20254.java diff --git a/src/baekjoon/bronze/B20254.java b/src/baekjoon/bronze/B20254.java new file mode 100644 index 0000000..f9b24a6 --- /dev/null +++ b/src/baekjoon/bronze/B20254.java @@ -0,0 +1,30 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class B20254 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + public static void main(String[] args) throws IOException { + + StringTokenizer st = new StringTokenizer(br.readLine()); + + long result = 0; + + int[] mul = {56,24,14,6}; + + int i =0; + while(st.hasMoreTokens()) { + + result += Long.parseLong(st.nextToken())*mul[i++]; + + } + + System.out.println(result); + } + +} From e8f97c4bd207a57b250da2e36902536a29a330bb Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 8 Feb 2026 23:24:43 +0900 Subject: [PATCH 074/115] B15439 solved --- src/baekjoon/bronze/B15439.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/baekjoon/bronze/B15439.java diff --git a/src/baekjoon/bronze/B15439.java b/src/baekjoon/bronze/B15439.java new file mode 100644 index 0000000..f1b6662 --- /dev/null +++ b/src/baekjoon/bronze/B15439.java @@ -0,0 +1,13 @@ +package baekjoon.bronze; + +import java.util.Scanner; + +public class B15439 { + public static void main(String[] args){ + Scanner sc = new Scanner(System.in); + int n = sc.nextInt(); + + System.out.print(n*(n-1)); + } + +} From f27e02a25f5e5d2d49b9233ed68efc5197143eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=83=9C=EC=99=84?= <100819044+programofktw@users.noreply.github.com> Date: Mon, 9 Feb 2026 23:40:16 +0900 Subject: [PATCH 075/115] =?UTF-8?q?B1009.java=20=EB=A7=8C=EB=93=A4?= =?UTF-8?q?=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/B1009.java | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/baekjoon/bronze/B1009.java diff --git a/src/baekjoon/bronze/B1009.java b/src/baekjoon/bronze/B1009.java new file mode 100644 index 0000000..bd62bfb --- /dev/null +++ b/src/baekjoon/bronze/B1009.java @@ -0,0 +1 @@ +public class B1009 \ No newline at end of file From b1dd28544abbe26a94701b819e4688df5e1a234c Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 10 Feb 2026 23:39:13 +0900 Subject: [PATCH 076/115] B15953 solved --- src/baekjoon/bronze/B15953.java | 56 +++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/baekjoon/bronze/B15953.java diff --git a/src/baekjoon/bronze/B15953.java b/src/baekjoon/bronze/B15953.java new file mode 100644 index 0000000..2593dd8 --- /dev/null +++ b/src/baekjoon/bronze/B15953.java @@ -0,0 +1,56 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B15953 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + int N = Integer.parseInt(br.readLine()); + + for(int i=0;i Date: Wed, 11 Feb 2026 23:52:20 +0900 Subject: [PATCH 077/115] B34945 solved --- src/baekjoon/bronze/B1009.java | 1 - src/baekjoon/bronze/B34945.java | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) delete mode 100644 src/baekjoon/bronze/B1009.java create mode 100644 src/baekjoon/bronze/B34945.java diff --git a/src/baekjoon/bronze/B1009.java b/src/baekjoon/bronze/B1009.java deleted file mode 100644 index bd62bfb..0000000 --- a/src/baekjoon/bronze/B1009.java +++ /dev/null @@ -1 +0,0 @@ -public class B1009 \ No newline at end of file diff --git a/src/baekjoon/bronze/B34945.java b/src/baekjoon/bronze/B34945.java new file mode 100644 index 0000000..e214adb --- /dev/null +++ b/src/baekjoon/bronze/B34945.java @@ -0,0 +1,22 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B34945 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + int N = Integer.parseInt(br.readLine()); + + sb.append((N>=6)?"Success!":"Oh My God!"); + + System.out.print(sb); + } + + +} From 1bec464aab5004ef41d768a8964e4a05820b8515 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 12 Feb 2026 17:36:44 +0900 Subject: [PATCH 078/115] 34362 solved --- src/baekjoon/bronze/B34362.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/baekjoon/bronze/B34362.java diff --git a/src/baekjoon/bronze/B34362.java b/src/baekjoon/bronze/B34362.java new file mode 100644 index 0000000..61fcd23 --- /dev/null +++ b/src/baekjoon/bronze/B34362.java @@ -0,0 +1,22 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B34362 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + double a = Double.parseDouble(br.readLine()); + + double result = a- 0.3; + + sb.append(result); + + System.out.print(sb); + } +} From a900a9a1473786d289e5e4d2a43d689d1e530777 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sat, 14 Feb 2026 22:18:00 +0900 Subject: [PATCH 079/115] =?UTF-8?q?11549,=2017362=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/B11549.java | 30 ++++++++++++++++++++++++++++++ src/baekjoon/bronze/B17362.java | 22 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 src/baekjoon/bronze/B11549.java create mode 100644 src/baekjoon/bronze/B17362.java diff --git a/src/baekjoon/bronze/B11549.java b/src/baekjoon/bronze/B11549.java new file mode 100644 index 0000000..e5c18a9 --- /dev/null +++ b/src/baekjoon/bronze/B11549.java @@ -0,0 +1,30 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class B11549 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + int correct = Integer.parseInt(br.readLine()); + + StringTokenizer st = new StringTokenizer(br.readLine()); + + int result = 0; + + while (st.hasMoreTokens()) { + result += (correct==Integer.parseInt(st.nextToken()))?1:0; + } + + sb.append(result); + + System.out.print(sb); + } + + +} diff --git a/src/baekjoon/bronze/B17362.java b/src/baekjoon/bronze/B17362.java new file mode 100644 index 0000000..e161d67 --- /dev/null +++ b/src/baekjoon/bronze/B17362.java @@ -0,0 +1,22 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B17362 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + long n = Long.parseLong(br.readLine()); + + int[] arr = {1, 2, 3, 4, 5, 4, 3, 2}; + + int idx = (int)((n - 1) % 8); + System.out.println(arr[idx]); + } + +} From c67a7cb098f5e8976fbd17f662a9fe8752b763c0 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 15 Feb 2026 23:40:10 +0900 Subject: [PATCH 080/115] =?UTF-8?q?3034=20=EC=95=B5=EA=B7=B8=EB=A6=AC=20?= =?UTF-8?q?=EC=B0=BD=EC=98=81=20solved?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/B3034.java | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/baekjoon/bronze/B3034.java diff --git a/src/baekjoon/bronze/B3034.java b/src/baekjoon/bronze/B3034.java new file mode 100644 index 0000000..668c518 --- /dev/null +++ b/src/baekjoon/bronze/B3034.java @@ -0,0 +1,34 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B3034 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + String[] input = br.readLine().split(" "); + + int n = Integer.parseInt(input[0]); + int w = Integer.parseInt(input[1]); + int h = Integer.parseInt(input[2]); + + int max = w*w + h*h; + + for(int i = 0; i < n; i++) { + int x = Integer.parseInt(br.readLine()); + + if(max >= x*x){ + sb.append("DA").append("\n"); + }else{ + sb.append("NE").append("\n"); + } + + } + + System.out.print(sb); + } +} From 4d400a223503e6b3e74c3b3ac71b225c405f620f Mon Sep 17 00:00:00 2001 From: programofktw Date: Mon, 16 Feb 2026 12:06:30 +0900 Subject: [PATCH 081/115] B3533 solved --- src/baekjoon/bronze/B3533.java | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/baekjoon/bronze/B3533.java diff --git a/src/baekjoon/bronze/B3533.java b/src/baekjoon/bronze/B3533.java new file mode 100644 index 0000000..8e99069 --- /dev/null +++ b/src/baekjoon/bronze/B3533.java @@ -0,0 +1,44 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class B3533 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + String[] input = br.readLine().split(" "); + + boolean[] bit = new boolean[10]; + + for(int i = 0; i < bit.length; i++){ + bit[i] = input[i].equals("1"); + } + + boolean result = false; + + for(int i= 0; i < bit.length; i++){ + boolean temp; + for(int j = i+1 ; j < bit.length ; j++){ + temp = bit[i] || bit[j]; + + result = (temp&&!result ||!temp&&result); + + for(int k = j+1 ; k < bit.length ;k++){ + temp = bit[i]||bit[j] || bit[k]; + + result = (temp&&!result ||!temp&&result); + } + } + } + + sb.append(result?1:0); + + System.out.println(sb); + } + +} From 86c487ffdd244bec4ec236e31e7152d1b7dfe8b9 Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 17 Feb 2026 13:00:01 +0900 Subject: [PATCH 082/115] 2966 solved --- src/baekjoon/bronze/B2966.java | 57 ++++++++++++++++++++++++++++++++++ src/baekjoon/silver/B1049.java | 56 +++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 src/baekjoon/bronze/B2966.java create mode 100644 src/baekjoon/silver/B1049.java diff --git a/src/baekjoon/bronze/B2966.java b/src/baekjoon/bronze/B2966.java new file mode 100644 index 0000000..e0dd485 --- /dev/null +++ b/src/baekjoon/bronze/B2966.java @@ -0,0 +1,57 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B2966 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + int n = Integer.parseInt(br.readLine()); + + char[] answers = br.readLine().toCharArray(); + + char[][] ga = {{'A','B','C'},{'B', 'A', 'B', 'C'},{'C', 'C', 'A', 'A', 'B', 'B'}}; + + + int adrian = 0; + int bruno = 0; + int goran = 0; + + int roop = 0; + + int max =0; + + for(char answer : answers){ + if(answer == ga[0][roop%3]){ + adrian++; + max = Math.max(adrian,max); + } + if(answer == ga[1][roop%4]){ + bruno++; + max = Math.max(bruno,max); + } + if(answer == ga[2][roop%6]){ + goran++; + max = Math.max(goran,max); + } + roop++; + } + + sb.append(max).append("\n"); + if(max == adrian){ + sb.append("Adrian").append("\n"); + } + if(max == bruno){ + sb.append("Bruno").append("\n"); + } + if(max == goran){ + sb.append("Goran"); + } + System.out.print(sb); + } + +} diff --git a/src/baekjoon/silver/B1049.java b/src/baekjoon/silver/B1049.java new file mode 100644 index 0000000..b45f9dd --- /dev/null +++ b/src/baekjoon/silver/B1049.java @@ -0,0 +1,56 @@ +package baekjoon.silver; + +import basic.datastructure.list.ArrayList; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B1049 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + + String[] input = br.readLine().split(" "); + + int need = Integer.parseInt(input[0]); + + int brand = Integer.parseInt(input[1]); + + int setMin = Integer.MAX_VALUE; + + int numMin = Integer.MAX_VALUE; + + for(int i = 0 ; i < brand;i++){ + input = br.readLine().split(" "); + + setMin = Math.min(setMin, Integer.parseInt(input[0])); + + numMin = Math.min(numMin, Integer.parseInt(input[1])); + } + + boolean cheapSet = setMin < numMin * 6; + + int result=0; + + int needSet = need / 6; + int needNum = need % 6; + + if(cheapSet){ + result += needSet * setMin; + + if (needNum * numMin < setMin) { + result += needNum * numMin; + } else { + result += setMin; + } + }else{ + result = need * numMin; + } + sb.append(result); + System.out.print(sb); + } + +} From 843ef7ebbf5c876398f2fdc621d1b3ba1ab71d96 Mon Sep 17 00:00:00 2001 From: programofktw Date: Wed, 18 Feb 2026 22:48:13 +0900 Subject: [PATCH 083/115] B30676 solved --- src/baekjoon/bronze/B30676.java | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/baekjoon/bronze/B30676.java diff --git a/src/baekjoon/bronze/B30676.java b/src/baekjoon/bronze/B30676.java new file mode 100644 index 0000000..7b6098e --- /dev/null +++ b/src/baekjoon/bronze/B30676.java @@ -0,0 +1,34 @@ +package baekjoon.bronze; + +import java.util.Scanner; + +public class B30676 { + public static void main(String[] args){ + Scanner sc = new Scanner(System.in); + + int n = sc.nextInt(); + + if(n<=780&&n>=620){ + System.out.println("Red"); + } + else if(n<620&&n>=590){ + System.out.println("Orange"); + } + else if(n<590&&n>=570){ + System.out.println("Yellow"); + } + else if(n<570&&n>=495){ + System.out.println("Green"); + } + else if(n<495&&n>=450){ + System.out.println("Blue"); + } + else if(n<450&&n>=425){ + System.out.println("Indigo"); + } + else if(n<425&&n>=380){ + System.out.println("Violet"); + } + } + +} From ba8229f53704f32216cc60d36f678914c575eb72 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 19 Feb 2026 22:30:05 +0900 Subject: [PATCH 084/115] 25628 solved --- src/baekjoon/bronze/B25628.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/baekjoon/bronze/B25628.java diff --git a/src/baekjoon/bronze/B25628.java b/src/baekjoon/bronze/B25628.java new file mode 100644 index 0000000..8b43c7d --- /dev/null +++ b/src/baekjoon/bronze/B25628.java @@ -0,0 +1,26 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B25628 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + String[] input = br.readLine().split(" "); + + int bang = Integer.parseInt(input[0]); + + int pat = Integer.parseInt(input[1]); + + int max = Math.min(bang/2,pat); + + sb.append(max); + System.out.print(sb); + } + +} From 13bfbf2c56d788302913031c21dfe9c0024c2730 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sat, 21 Feb 2026 23:44:17 +0900 Subject: [PATCH 085/115] 11367 solved --- src/baekjoon/bronze/B11367.java | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/baekjoon/bronze/B11367.java diff --git a/src/baekjoon/bronze/B11367.java b/src/baekjoon/bronze/B11367.java new file mode 100644 index 0000000..20046ea --- /dev/null +++ b/src/baekjoon/bronze/B11367.java @@ -0,0 +1,49 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B11367 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int testCase = Integer.parseInt(br.readLine()); + + for(int i = 0 ; i < testCase;i++){ + String[] input = br.readLine().split(" "); + + int score = Integer.parseInt(input[1]); + + sb.append(input[0]).append(" "); + if(score>=97){ + sb.append("A+"); + }else if(score>=90){ + sb.append("A"); + }else if(score>=87){ + sb.append("B+"); + }else if(score>=80){ + sb.append("B"); + }else if(score>=77){ + sb.append("C+"); + }else if(score>=70){ + sb.append("C"); + }else if(score>=67){ + sb.append("D+"); + }else if(score>=60){ + sb.append("D"); + }else{ + sb.append("F"); + } + sb.append("\n"); + + + } + + System.out.print(sb); + } + +} From a13a02ce817caa42697076ad87d1d03ac995f796 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 22 Feb 2026 23:12:17 +0900 Subject: [PATCH 086/115] 16503 solved --- src/baekjoon/bronze/B16503.java | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/baekjoon/bronze/B16503.java diff --git a/src/baekjoon/bronze/B16503.java b/src/baekjoon/bronze/B16503.java new file mode 100644 index 0000000..c63a25c --- /dev/null +++ b/src/baekjoon/bronze/B16503.java @@ -0,0 +1,52 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B16503 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args)throws IOException { + + String[] input = br.readLine().split(" "); + + int a = Integer.parseInt(input[0]); + + int b = Integer.parseInt(input[2]); + + int c = Integer.parseInt(input[4]); + + + int result1 = apply(input[3],apply(input[1],a,b),c); + + int result2 = apply(input[1],a,apply(input[3],b,c)); + + sb.append(Math.min(result1,result2)).append("\n"); + + sb.append(Math.max(result2,result1)); + + System.out.print(sb); + } + + + static int apply(String op, int v1, int v2){ + + + switch (op) { + case "+" : + return v1 + v2; + case "-" : + return v1 - v2; + case "*" : + return v1 * v2; + case "/" : + return v1 / v2; + default : + return 0; + } + + } +} From 32d9206e168a966965d02e26efd8981e439fa5cc Mon Sep 17 00:00:00 2001 From: programofktw Date: Mon, 23 Feb 2026 22:39:59 +0900 Subject: [PATCH 087/115] 15995 solved --- src/baekjoon/bronze/B15995.java | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/baekjoon/bronze/B15995.java diff --git a/src/baekjoon/bronze/B15995.java b/src/baekjoon/bronze/B15995.java new file mode 100644 index 0000000..a53943f --- /dev/null +++ b/src/baekjoon/bronze/B15995.java @@ -0,0 +1,33 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B15995 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + String[] input = br.readLine().split(" "); + + int a = Integer.parseInt(input[0]); + int m = Integer.parseInt(input[1]); + + + int i = 1; + while(true){ + if( (a * i)%m == 1){ + sb.append(i).append("\n"); + break; + } + i++; + } + + System.out.print(sb); + } + + +} From 24d12cd5641f2a6a6394ce9073d8ebba82298726 Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 24 Feb 2026 21:38:08 +0900 Subject: [PATCH 088/115] 15881 solved --- src/baekjoon/bronze/B15881.java | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/baekjoon/bronze/B15881.java diff --git a/src/baekjoon/bronze/B15881.java b/src/baekjoon/bronze/B15881.java new file mode 100644 index 0000000..6a83824 --- /dev/null +++ b/src/baekjoon/bronze/B15881.java @@ -0,0 +1,45 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B15881 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int n = Integer.parseInt(br.readLine()); + + String input = br.readLine(); + + char[] pPAp = {'p','P','A','p'}; + + int now = 0; + + int result =0; + + for(char cha : input.toCharArray()){ + if(cha==pPAp[now]){ + now++; + }else{ + if(cha==pPAp[0]) + now=1; + else + now=0; + } + + if(now==4){ + result++; + now=0; + } + } + + sb.append(result); + + System.out.print(sb); + } + +} From ae8385fc998eebefbf52633d92b44a2f0774b500 Mon Sep 17 00:00:00 2001 From: programofktw Date: Wed, 25 Feb 2026 16:17:11 +0900 Subject: [PATCH 089/115] 21598 solved --- src/baekjoon/bronze/B21598.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/baekjoon/bronze/B21598.java diff --git a/src/baekjoon/bronze/B21598.java b/src/baekjoon/bronze/B21598.java new file mode 100644 index 0000000..b7d094c --- /dev/null +++ b/src/baekjoon/bronze/B21598.java @@ -0,0 +1,21 @@ +package baekjoon.bronze; + +import java.util.Scanner; + +public class B21598 { + + public static void main(String[] args){ + Scanner scanner = new Scanner(System.in); + + int n = scanner.nextInt(); + + StringBuilder sb = new StringBuilder(); + + for(int i = 0 ; i < n ; i++){ + sb.append("SciComLove").append("\n"); + } + + System.out.print(sb); + } + +} From d207f05700eb02c82a40d7260f7ca1ae46cc26df Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 26 Feb 2026 16:38:07 +0900 Subject: [PATCH 090/115] 33178 solved --- src/baekjoon/bronze/B33178.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/baekjoon/bronze/B33178.java diff --git a/src/baekjoon/bronze/B33178.java b/src/baekjoon/bronze/B33178.java new file mode 100644 index 0000000..f4fe01d --- /dev/null +++ b/src/baekjoon/bronze/B33178.java @@ -0,0 +1,21 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B33178 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args)throws IOException { + int input = Integer.parseInt(br.readLine()); + + sb.append(input/10); + + + System.out.print(sb); + } + +} From 4dae944218d630b080131357e2fb520672fbec44 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 26 Feb 2026 23:22:34 +0900 Subject: [PATCH 091/115] 10833 solved --- src/baekjoon/bronze/B10833.java | 59 +++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/baekjoon/bronze/B10833.java diff --git a/src/baekjoon/bronze/B10833.java b/src/baekjoon/bronze/B10833.java new file mode 100644 index 0000000..60b46e5 --- /dev/null +++ b/src/baekjoon/bronze/B10833.java @@ -0,0 +1,59 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B10833 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + int n = Integer.parseInt(br.readLine()); + + int[] students = new int[n]; + + int[] apples = new int[n]; + + boolean[] flag = new boolean[n]; + + for(int i = 0; i < n; i++) { + String[] input = br.readLine().split(" "); + + students[i] = Integer.parseInt(input[0]); + + apples[i] = Integer.parseInt(input[1]); + } + + + int i = 0; + + int result = 0; + + while(true){ + boolean done = true; + for(int j = 0; j < n; j++){ + if(flag[j]){ + continue; + } + if(students[j]*(i+1)>apples[j]){ + flag[j] = true; + result += apples[j]-(students[j]*i); + }else{ + done = false; + } + } + if(done){ + break; + } + i++; + } + + sb.append(result); + + System.out.print(sb); + } + + +} From 9fc6fde827ff8410dde11547e271ca89e42183b1 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 26 Feb 2026 23:25:15 +0900 Subject: [PATCH 092/115] refactor 10833 --- src/baekjoon/bronze/B10833.java | 34 ++++++--------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/src/baekjoon/bronze/B10833.java b/src/baekjoon/bronze/B10833.java index 60b46e5..f4e6e2b 100644 --- a/src/baekjoon/bronze/B10833.java +++ b/src/baekjoon/bronze/B10833.java @@ -12,44 +12,22 @@ public class B10833 { public static void main(String[] args) throws IOException { int n = Integer.parseInt(br.readLine()); - int[] students = new int[n]; - int[] apples = new int[n]; - boolean[] flag = new boolean[n]; + int result = 0; + for(int i = 0; i < n; i++) { String[] input = br.readLine().split(" "); - students[i] = Integer.parseInt(input[0]); - - apples[i] = Integer.parseInt(input[1]); - } - - - int i = 0; + int student = Integer.parseInt(input[0]); - int result = 0; + int apple = Integer.parseInt(input[1]); - while(true){ - boolean done = true; - for(int j = 0; j < n; j++){ - if(flag[j]){ - continue; - } - if(students[j]*(i+1)>apples[j]){ - flag[j] = true; - result += apples[j]-(students[j]*i); - }else{ - done = false; - } - } - if(done){ - break; - } - i++; + result += apple % student; } + sb.append(result); System.out.print(sb); From 65ecafad3dd3c872e2fc0b48129650715910053b Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 27 Feb 2026 16:18:26 +0900 Subject: [PATCH 093/115] [bkd] 10871 solved --- src/bkd/base_code_create2/B10871.java | 34 +++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/bkd/base_code_create2/B10871.java diff --git a/src/bkd/base_code_create2/B10871.java b/src/bkd/base_code_create2/B10871.java new file mode 100644 index 0000000..1012d24 --- /dev/null +++ b/src/bkd/base_code_create2/B10871.java @@ -0,0 +1,34 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B10871 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + String[] input = br.readLine().split(" "); + + int n = Integer.parseInt(input[0]); + + int baseLine = Integer.parseInt(input[1]); + + input = br.readLine().split(" "); + + for(String s : input){ + int a = Integer.parseInt(s); + + if(baseLine > a) sb.append(a).append(" "); + + } + + System.out.print(sb); + } + + +} From ea6229059f9d8c628aaad154712b3ac90e88e7a6 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 27 Feb 2026 16:21:12 +0900 Subject: [PATCH 094/115] [bkd] 1000 solved --- src/bkd/base_code_create2/B1000.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/bkd/base_code_create2/B1000.java diff --git a/src/bkd/base_code_create2/B1000.java b/src/bkd/base_code_create2/B1000.java new file mode 100644 index 0000000..be086f9 --- /dev/null +++ b/src/bkd/base_code_create2/B1000.java @@ -0,0 +1,22 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B1000 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + String[] input = br.readLine().split(" "); + + int n = Integer.parseInt(input[0]); + int m = Integer.parseInt(input[1]); + + sb.append(n+m); + + System.out.print(sb); + } +} From 53244af6d40adb7a54a1ee0702b345bd2f5260d0 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 27 Feb 2026 16:27:07 +0900 Subject: [PATCH 095/115] [bkd] 2557 solved --- src/bkd/base_code_create2/B2557.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/bkd/base_code_create2/B2557.java diff --git a/src/bkd/base_code_create2/B2557.java b/src/bkd/base_code_create2/B2557.java new file mode 100644 index 0000000..3c12a0a --- /dev/null +++ b/src/bkd/base_code_create2/B2557.java @@ -0,0 +1,20 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B2557 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + sb.append("Hello World!"); + System.out.print(sb); + } + + +} From 4f99fbbbed14a99294cbb5ba6ef46d7251be34f0 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 27 Feb 2026 16:31:05 +0900 Subject: [PATCH 096/115] [bkd] 2752 solved --- src/bkd/base_code_create2/B2752.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/bkd/base_code_create2/B2752.java diff --git a/src/bkd/base_code_create2/B2752.java b/src/bkd/base_code_create2/B2752.java new file mode 100644 index 0000000..1b5f73b --- /dev/null +++ b/src/bkd/base_code_create2/B2752.java @@ -0,0 +1,26 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class B2752 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int[] input = Arrays.stream(br.readLine().split(" ")) + .mapToInt(Integer::parseInt) + .sorted() + .toArray(); + + for(int now : input) { + sb.append(now).append(" "); + } + + System.out.print(sb); + } +} From aaae00f50e203aa3423121467748eb976fedbcd6 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 27 Feb 2026 16:35:59 +0900 Subject: [PATCH 097/115] [bkd] 2587 solved --- src/bkd/base_code_create2/B2587.java | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/bkd/base_code_create2/B2587.java diff --git a/src/bkd/base_code_create2/B2587.java b/src/bkd/base_code_create2/B2587.java new file mode 100644 index 0000000..1ce9624 --- /dev/null +++ b/src/bkd/base_code_create2/B2587.java @@ -0,0 +1,37 @@ +package bkd.base_code_create2; + +import basic.datastructure.list.ArrayList; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class B2587 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int[] inputs = new int[5]; + + int average = 0; + + int middle = 0; + + for(int i = 0 ; i<5;i++){ + int input = Integer.parseInt(br.readLine()); + average+=input; + inputs[i] = input; + } + + Arrays.sort(inputs); + + sb.append(average/5).append("\n"); + + sb.append(inputs[2]); + + System.out.print(sb); + } +} From bbacf9b1945a9d3be6626e625561a637cc05f53a Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 27 Feb 2026 17:12:39 +0900 Subject: [PATCH 098/115] [bkd] 2309 solved --- src/bkd/base_code_create2/B2309.java | 54 ++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/bkd/base_code_create2/B2309.java diff --git a/src/bkd/base_code_create2/B2309.java b/src/bkd/base_code_create2/B2309.java new file mode 100644 index 0000000..719d7ec --- /dev/null +++ b/src/bkd/base_code_create2/B2309.java @@ -0,0 +1,54 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class B2309 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + private static boolean done = false; + + public static void main(String[] args) throws IOException { + + int[] inputs = new int[9]; + + for(int i = 0; i < inputs.length; i++) { + inputs[i] = Integer.parseInt(br.readLine()); + } + + Arrays.sort(inputs); + + backTraking(inputs, 1,inputs[0],1,inputs[0]+""); + backTraking(inputs, 1,0,0,""); + + + System.out.print(sb); + } + + + static void backTraking(int[] inputs, int index , int sum, int num,String result) { + + if(sum > 100||done||index>=9||num>7){ + return; + } + + int nextNum = num+1; + int nextSum = sum+inputs[index]; + String nextResult = result +"\n"+ inputs[index]; + + if(nextNum == 7&&nextSum==100){ + done = true; + sb.append(nextResult); + } + + backTraking(inputs,index+1,sum,num,result); + backTraking(inputs,index+1,nextSum,nextNum,nextResult); + + } + +} From 85351c48b93d0e0c9d2337091e644a838bd4eaa8 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 27 Feb 2026 17:21:15 +0900 Subject: [PATCH 099/115] [bkd] 10093 solved --- src/bkd/base_code_create2/B10093.java | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/bkd/base_code_create2/B10093.java diff --git a/src/bkd/base_code_create2/B10093.java b/src/bkd/base_code_create2/B10093.java new file mode 100644 index 0000000..6bc7b05 --- /dev/null +++ b/src/bkd/base_code_create2/B10093.java @@ -0,0 +1,27 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class B10093 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + long[] inputs = Arrays.stream(br.readLine().split(" ")).mapToLong(Long::parseLong).sorted().toArray(); + + long diff =inputs[1]-inputs[0]-1; + + sb.append(Math.max(diff, 0)).append("\n"); + + for(long i = inputs[0]+1;i Date: Fri, 27 Feb 2026 21:54:49 +0900 Subject: [PATCH 100/115] [bkd] 1267 solved --- src/bkd/base_code_create2/B1267.java | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/bkd/base_code_create2/B1267.java diff --git a/src/bkd/base_code_create2/B1267.java b/src/bkd/base_code_create2/B1267.java new file mode 100644 index 0000000..c366045 --- /dev/null +++ b/src/bkd/base_code_create2/B1267.java @@ -0,0 +1,44 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class B1267 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int n = Integer.parseInt(br.readLine()); + + int[] input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray(); + + int Y = 0; + + int M = 0; + + for(int time : input){ + if(time == 0){ + continue; + } + + Y += (time/30+1)*10; + M += (time/60+1)*15; + } + + int min = Math.min(Y,M); + + if(Y==min){ + sb.append("Y").append(" "); + } + if(M==min){ + sb.append("M").append(" "); + } + sb.append(min); + + System.out.print(sb); + } +} From faa60ca5418de94376804b9e854f04cad533ab55 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 27 Feb 2026 22:14:43 +0900 Subject: [PATCH 101/115] [bkd] 10804 solved --- src/bkd/base_code_create2/B10804.java | 48 +++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/bkd/base_code_create2/B10804.java diff --git a/src/bkd/base_code_create2/B10804.java b/src/bkd/base_code_create2/B10804.java new file mode 100644 index 0000000..4d73a96 --- /dev/null +++ b/src/bkd/base_code_create2/B10804.java @@ -0,0 +1,48 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class B10804 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int[] array = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; + + + for(int i = 0 ; i < 10 ; i++){ + int[] inputs = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray(); + + rangeReverse(array,inputs[0],inputs[1]); + } + + + for(int result : array){ + if(result == 0){continue;} + sb.append(result).append(" "); + } + + System.out.print(sb); + } + + + private static void rangeReverse(int[] arr, int start, int end) { + + int mid = (start + end)/2; + + for(int i = start; i<=mid;i++){ + int temp = arr[start]; + arr[start] = arr[end]; + arr[end] = temp; + start++; + end--; + } + } + +} From c3b3cce6a524a1368d49c4dda74e63e0bbc37930 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 27 Feb 2026 22:17:51 +0900 Subject: [PATCH 102/115] =?UTF-8?q?[bkd]=2015552=20=EB=B9=A0=EB=A5=B8=20A+?= =?UTF-8?q?B=20solved?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bkd/base_code_create2/B15552.java | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/bkd/base_code_create2/B15552.java diff --git a/src/bkd/base_code_create2/B15552.java b/src/bkd/base_code_create2/B15552.java new file mode 100644 index 0000000..c67945a --- /dev/null +++ b/src/bkd/base_code_create2/B15552.java @@ -0,0 +1,31 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class B15552 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int n = Integer.parseInt(br.readLine()); + + + int[] input; + for(int i = 0; i < n; i++){ + input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray(); + + sb.append(input[0]+input[1]).append("\n"); + + } + + + System.out.print(sb); + } + + +} From 40ebe59a4ca740bfefef6fc0becae1a9f5419eb9 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sat, 28 Feb 2026 09:54:00 +0900 Subject: [PATCH 103/115] [bj] 14656 solved --- src/baekjoon/bronze/B14656.java | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/baekjoon/bronze/B14656.java diff --git a/src/baekjoon/bronze/B14656.java b/src/baekjoon/bronze/B14656.java new file mode 100644 index 0000000..922f8a6 --- /dev/null +++ b/src/baekjoon/bronze/B14656.java @@ -0,0 +1,33 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class B14656 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int n = Integer.parseInt(br.readLine()); + + int[] input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray(); + + int result = 0; + + for(int i = 1 ; i <= n;i++){ + if(i!=input[i-1]) result++; + } + + sb.append(result); + + + System.out.print(sb); + } + + +} From f841de25cf9402ec88e9bd18f581a048546fbbda Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 1 Mar 2026 19:16:48 +0900 Subject: [PATCH 104/115] [bkd] 2438 solved --- src/bkd/base_code_create2/B2438.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/bkd/base_code_create2/B2438.java diff --git a/src/bkd/base_code_create2/B2438.java b/src/bkd/base_code_create2/B2438.java new file mode 100644 index 0000000..11bb473 --- /dev/null +++ b/src/bkd/base_code_create2/B2438.java @@ -0,0 +1,24 @@ +package bkd.base_code_create2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B2438 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + int n = Integer.parseInt(br.readLine()); + + for(int i = 0 ;i Date: Sun, 1 Mar 2026 19:26:25 +0900 Subject: [PATCH 105/115] [bj] 11874 ZAMKA solved --- src/baekjoon/bronze/B11874.java | 54 +++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/baekjoon/bronze/B11874.java diff --git a/src/baekjoon/bronze/B11874.java b/src/baekjoon/bronze/B11874.java new file mode 100644 index 0000000..f4bc348 --- /dev/null +++ b/src/baekjoon/bronze/B11874.java @@ -0,0 +1,54 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B11874 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + int L = Integer.parseInt(br.readLine()); + + int D = Integer.parseInt(br.readLine()); + + int X = Integer.parseInt(br.readLine()); + + boolean first = true; + + int max = 0; + + for (int i = L; i <=D;i++ ){ + if(X==sum(i)){ + if(first){ + sb.append(i); + first = false; + max = i; + }else{ + max = i; + } + } + } + + sb.append("\n").append(max); + + System.out.print(sb); + } + + + static int sum(int a){ + int result = 0; + + int na = 10000; + + while(true){ + result += a/na; + a = a%na; + na /= 10; + if(a==0) return result; + } + } +} From 17f42b9d8ac2515e1a362c3cf5e8fb28b4574fdc Mon Sep 17 00:00:00 2001 From: programofktw Date: Mon, 2 Mar 2026 22:57:08 +0900 Subject: [PATCH 106/115] [bj] 13420 solved --- src/baekjoon/bronze/B13420.java | 57 +++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/baekjoon/bronze/B13420.java diff --git a/src/baekjoon/bronze/B13420.java b/src/baekjoon/bronze/B13420.java new file mode 100644 index 0000000..92f1595 --- /dev/null +++ b/src/baekjoon/bronze/B13420.java @@ -0,0 +1,57 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B13420 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int n = Integer.parseInt(br.readLine()); + + for(int i = 0; i < n; i++) { + String[] input = br.readLine().split(" "); + + long a = Long.parseLong(input[0]); + + char op = input[1].charAt(0); + + long b = Long.parseLong(input[2]); + + char equal = input[3].charAt(0); + + long result = Long.parseLong(input[4]); + + long exp = 0; + + switch(op){ + case '+': + exp = a+b; + break; + case '-' : + exp = a-b; + break; + case '*': + exp = a*b; + break; + case '/': + exp = a/b; + break; + } + + if(result == exp){ + sb.append("correct\n"); + }else{ + sb.append("wrong answer\n"); + } + + + } + + System.out.print(sb); + } +} From 3e7e91dd7889b7523871ab2e34b2a0cfd8820514 Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 3 Mar 2026 23:19:46 +0900 Subject: [PATCH 107/115] [bj] 6996 solved --- src/baekjoon/bronze/B6996.java | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/baekjoon/bronze/B6996.java diff --git a/src/baekjoon/bronze/B6996.java b/src/baekjoon/bronze/B6996.java new file mode 100644 index 0000000..e5acdb4 --- /dev/null +++ b/src/baekjoon/bronze/B6996.java @@ -0,0 +1,44 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B6996 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int testCase = Integer.parseInt(br.readLine()); + + A : for(int i = 0; i < testCase; i++) { + String[] input = br.readLine().split(" "); + int size = 'z' - 'a'+1; + int[] arr1 = new int[size]; + int[] arr2 = new int[size]; + sb.append(input[0]).append(" & ").append(input[1]).append(" are "); + boolean result = false; + + for(char ch : input[0].toCharArray()) { + arr1[ch - 'a']++; + } + + for(char ch : input[1].toCharArray()) { + arr2[ch- 'a']++; + } + + for(int j = 0 ; j < size;j++){ + if(arr1[j]!=arr2[j]){ + sb.append("NOT anagrams.").append("\n"); + continue A; + } + } + sb.append("anagrams.").append("\n"); + } + + System.out.print(sb); + } +} From c2351a2f072579093d0bfebad962b8a2adb2e1c0 Mon Sep 17 00:00:00 2001 From: programofktw Date: Wed, 4 Mar 2026 14:02:56 +0900 Subject: [PATCH 108/115] =?UTF-8?q?[bj]=2023795=20=EC=82=AC=EC=9E=A5?= =?UTF-8?q?=EB=8B=98=20=EB=8F=84=EB=B0=95=EC=9D=80=20=EC=9E=AC=EB=AF=B8?= =?UTF-8?q?=EB=A1=9C=20=ED=95=98=EC=85=94=EC=95=BC=20=ED=95=A9=EB=8B=88?= =?UTF-8?q?=EB=8B=A4=20solved?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/B23795.java | 31 +++++++++++++++++++++++++++++++ src/baekjoon/bronze/B34849.java | 28 ++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 src/baekjoon/bronze/B23795.java create mode 100644 src/baekjoon/bronze/B34849.java diff --git a/src/baekjoon/bronze/B23795.java b/src/baekjoon/bronze/B23795.java new file mode 100644 index 0000000..8d9e086 --- /dev/null +++ b/src/baekjoon/bronze/B23795.java @@ -0,0 +1,31 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B23795 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int input; + int result=0; + + while(true){ + input = Integer.parseInt(br.readLine()); + + if(input==-1){ + break; + } + result += input; + } + + + sb.append(result); + System.out.print(sb); + } + +} diff --git a/src/baekjoon/bronze/B34849.java b/src/baekjoon/bronze/B34849.java new file mode 100644 index 0000000..ae5b019 --- /dev/null +++ b/src/baekjoon/bronze/B34849.java @@ -0,0 +1,28 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B34849 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + long n = Long.parseLong(br.readLine()); + + long pow = n * n; + + if(pow<=100000000){ + sb.append("Accepted"); + }else{ + sb.append("Time limit exceeded"); + } + + + System.out.print(sb); + } + +} From 55c2c83a0c1cc90d530356d8ad09f32a41cb71d9 Mon Sep 17 00:00:00 2001 From: programofktw Date: Thu, 5 Mar 2026 19:08:16 +0900 Subject: [PATCH 109/115] =?UTF-8?q?[bj]=2024051=20=EC=82=BD=EC=9E=85=20?= =?UTF-8?q?=EC=A0=95=EB=A0=AC=20solved?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/B24051.java | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/baekjoon/bronze/B24051.java diff --git a/src/baekjoon/bronze/B24051.java b/src/baekjoon/bronze/B24051.java new file mode 100644 index 0000000..cd249db --- /dev/null +++ b/src/baekjoon/bronze/B24051.java @@ -0,0 +1,52 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.StringTokenizer; + +public class B24051 { + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + int N = Integer.parseInt(st.nextToken()); + int K = Integer.parseInt(st.nextToken()); + + int[] A = new int[N]; + st = new StringTokenizer(br.readLine()); + for (int i = 0; i < N; i++) { + A[i] = Integer.parseInt(st.nextToken()); + } + + int cnt = 0 ; + int answer = -1; + for(int i = 1 ; i < N ;i++) { + int loc = i - 1; + int newItem = A[i]; + while((0 <= loc && newItem < A[loc])) { + A[loc + 1] = A[loc]; + loc--; + cnt++; + if( cnt == K ) { + answer = A[loc+1] ; + } + } + + if (loc + 1 != i) { + A[loc + 1] = newItem; + cnt++; + if( cnt == K ) { + answer = A[loc+1]; + } + } + } + System.out.println(answer); + } + +} \ No newline at end of file From 4db0babcf72d52c85af8324d72265f7fa113c9e3 Mon Sep 17 00:00:00 2001 From: programofktw Date: Fri, 6 Mar 2026 14:29:11 +0900 Subject: [PATCH 110/115] =?UTF-8?q?[bkd]=2011328=20=EC=95=A0=EB=84=88?= =?UTF-8?q?=EA=B7=B8=EB=A0=98=20solved?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bkd/array/B11328.java | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/bkd/array/B11328.java diff --git a/src/bkd/array/B11328.java b/src/bkd/array/B11328.java new file mode 100644 index 0000000..086ad8e --- /dev/null +++ b/src/bkd/array/B11328.java @@ -0,0 +1,52 @@ +package bkd.array; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B11328 { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + int n = Integer.parseInt(br.readLine()); + + int[] alph; + + while(n-->0){ + String[] input = br.readLine().split(" "); + alph = new int['z'-'a'+1]; + + boolean possible = true; + for(int i = 0 ; i < input[0].length();i++){ + char first = input[0].charAt(i); + alph[first-'a']++; + } + + for(int i = 0 ; i < input[1].length();i++){ + char second = input[1].charAt(i); + alph[second-'a']--; + } + + for(int i = 0; i Date: Sat, 7 Mar 2026 22:25:22 +0900 Subject: [PATCH 111/115] [bj] 31746 SciComLove(2024) solved --- src/baekjoon/bronze/B31746.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/baekjoon/bronze/B31746.java diff --git a/src/baekjoon/bronze/B31746.java b/src/baekjoon/bronze/B31746.java new file mode 100644 index 0000000..7794c88 --- /dev/null +++ b/src/baekjoon/bronze/B31746.java @@ -0,0 +1,25 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B31746 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + long n = Long.parseLong(br.readLine()); + + if(n%2==0){ + sb.append("SciComLove"); + }else{ + sb.append("evoLmoCicS"); + } + + System.out.print(sb); + } + + +} From 1c2b2133041fc8b7a95c1b5b3527e17b845a0d38 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 8 Mar 2026 23:28:18 +0900 Subject: [PATCH 112/115] =?UTF-8?q?[bj]=201106=20=ED=98=B8=ED=85=94=20solv?= =?UTF-8?q?ed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class5/B1106.java | 85 ++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/baekjoon/class5/B1106.java diff --git a/src/baekjoon/class5/B1106.java b/src/baekjoon/class5/B1106.java new file mode 100644 index 0000000..54a767c --- /dev/null +++ b/src/baekjoon/class5/B1106.java @@ -0,0 +1,85 @@ +package baekjoon.class5; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; +import java.util.HashSet; + +public class B1106 { + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + // 각 인원수 별로 드는 최소 코스트를 관리 + // 각 늘릴 수 있는 인원수를 관리 A + + // 1 ~ 늘리고 싶은 사람 수 c 까지 순차적으로 인원수라 치고 드는 최소 코스트를 계산 + // 구하는 공식은 dp[index] > 인원수 A의 코스트 + dp[index-A] 면 값 갱신 + + String[] input = br.readLine().split(" "); + + int c = Integer.parseInt(input[0]); + int town = Integer.parseInt(input[1]); + + int temp= 0; + + int[] dp = new int[c+1]; + + Arrays.fill(dp,Integer.MAX_VALUE); + + HashSet set = new HashSet<>(); + + int minCost = Integer.MAX_VALUE; + + for(int i =0;i c) plus = c; + if(dp[plus] > cost){ + dp[plus] = cost; + set.add(new Node(cost,plus)); + } + if(minCost > cost){ + minCost = cost; + temp = plus; + } + } + + + for(int i = 1;i= 1){ + if(dp[i] > dp[i-node.plus] + dp[node.plus]){ + dp[i] = dp[i-node.plus] + dp[node.plus]; + } + } + } + } + + sb.append(dp[c]); + + System.out.print(sb); + + } + + static class Node{ + int cost; + int plus; + + Node(int cost, int plus){ + this.cost = cost; + this.plus = plus; + } + } + +} From 95d32569749eee8ce72ef78ca35e916acbd78f91 Mon Sep 17 00:00:00 2001 From: programofktw Date: Sun, 8 Mar 2026 23:32:33 +0900 Subject: [PATCH 113/115] =?UTF-8?q?[bj]=201106=20=ED=98=B8=ED=85=94=20?= =?UTF-8?q?=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/class5/B1106.java | 78 +++++++++------------------------- 1 file changed, 21 insertions(+), 57 deletions(-) diff --git a/src/baekjoon/class5/B1106.java b/src/baekjoon/class5/B1106.java index 54a767c..6350eac 100644 --- a/src/baekjoon/class5/B1106.java +++ b/src/baekjoon/class5/B1106.java @@ -4,82 +4,46 @@ import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; -import java.util.HashSet; public class B1106 { - private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); - private static StringBuilder sb = new StringBuilder(); + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); public static void main(String[] args) throws IOException { - // 각 인원수 별로 드는 최소 코스트를 관리 - // 각 늘릴 수 있는 인원수를 관리 A - - // 1 ~ 늘리고 싶은 사람 수 c 까지 순차적으로 인원수라 치고 드는 최소 코스트를 계산 - // 구하는 공식은 dp[index] > 인원수 A의 코스트 + dp[index-A] 면 값 갱신 String[] input = br.readLine().split(" "); - int c = Integer.parseInt(input[0]); - int town = Integer.parseInt(input[1]); - - int temp= 0; - - int[] dp = new int[c+1]; + int c = Integer.parseInt(input[0]); // 목표 고객 수 + int n = Integer.parseInt(input[1]); // 도시 수 - Arrays.fill(dp,Integer.MAX_VALUE); + int[] cost = new int[n]; + int[] people = new int[n]; - HashSet set = new HashSet<>(); - - int minCost = Integer.MAX_VALUE; - - for(int i =0;i c) plus = c; - if(dp[plus] > cost){ - dp[plus] = cost; - set.add(new Node(cost,plus)); - } - if(minCost > cost){ - minCost = cost; - temp = plus; - } + cost[i] = Integer.parseInt(input[0]); + people[i] = Integer.parseInt(input[1]); } + int[] dp = new int[c + 101]; + Arrays.fill(dp, Integer.MAX_VALUE); - for(int i = 1;i= 1){ - if(dp[i] > dp[i-node.plus] + dp[node.plus]){ - dp[i] = dp[i-node.plus] + dp[node.plus]; - } + for(int i = 0; i < n; i++){ + for(int j = people[i]; j < c + 101; j++){ + if(dp[j - people[i]] != Integer.MAX_VALUE){ + dp[j] = Math.min(dp[j], dp[j - people[i]] + cost[i]); } } } - sb.append(dp[c]); + int answer = Integer.MAX_VALUE; - System.out.print(sb); - - } - - static class Node{ - int cost; - int plus; - - Node(int cost, int plus){ - this.cost = cost; - this.plus = plus; + for(int i = c; i < c + 101; i++){ + answer = Math.min(answer, dp[i]); } - } -} + System.out.println(answer); + } +} \ No newline at end of file From a8288f8c1797161156aa729f20f69e8ef609fce2 Mon Sep 17 00:00:00 2001 From: programofktw Date: Mon, 9 Mar 2026 22:23:47 +0900 Subject: [PATCH 114/115] =?UTF-8?q?[bj]=204619=20=EB=A3=A8=ED=8A=B8=20solv?= =?UTF-8?q?ed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/baekjoon/bronze/B4619.java | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/baekjoon/bronze/B4619.java diff --git a/src/baekjoon/bronze/B4619.java b/src/baekjoon/bronze/B4619.java new file mode 100644 index 0000000..4f35379 --- /dev/null +++ b/src/baekjoon/bronze/B4619.java @@ -0,0 +1,39 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class B4619 { + + private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + private static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + + while(true){ + int[] input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray(); + if(input[0] ==0 && input[1]==0) break; + + int i = 0; + + while(Math.pow(i,input[1])input[0]-Math.pow((i-1),input[1])){ + i--; + } + sb.append(i).append("\n"); + } + + + + System.out.print(sb); + } + + +} From adf47c4d392d11704db733421d51013c073defd7 Mon Sep 17 00:00:00 2001 From: programofktw Date: Tue, 10 Mar 2026 23:26:03 +0900 Subject: [PATCH 115/115] [bj] 5074 When Do We Finish? solved --- src/baekjoon/bronze/B5074.java | 59 ++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/baekjoon/bronze/B5074.java diff --git a/src/baekjoon/bronze/B5074.java b/src/baekjoon/bronze/B5074.java new file mode 100644 index 0000000..07cc0d6 --- /dev/null +++ b/src/baekjoon/bronze/B5074.java @@ -0,0 +1,59 @@ +package baekjoon.bronze; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class B5074 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + + while(true){ + String[] inputs = br.readLine().split(" "); + + if(inputs[0].equals("00:00")&&inputs[1].equals("00:00")) break; + + String[] first = inputs[0].split(":"); + + String[] second = inputs[1].split(":"); + + int h1 = Integer.parseInt(first[0]); + int m1 = Integer.parseInt(first[1]); + + int h2 = Integer.parseInt(second[0]); + int m2 = Integer.parseInt(second[1]); + + int rh = 0; + int rm =0; + + rh = h1 + h2; + rm = m2 + m1; + + boolean overDay = false; + + if(rm>=60){ + rh++; + rm-=60; + } + + int day =0; + + + if(rh>=24){ + overDay= true; + day = rh / 24; + rh %= 24; + + } + + sb.append(String.format("%02d",rh)).append(":").append(String.format("%02d",rm)).append((overDay)?" +"+day:"").append("\n"); + } + + + System.out.print(sb); + } + +}