From baf2fb9644d7eb4843eb5575a8a78938d0666ffc Mon Sep 17 00:00:00 2001 From: doitcodingtest <108266421+doitcodingtest@users.noreply.github.com> Date: Fri, 31 Oct 2025 01:23:42 +0900 Subject: [PATCH 1/6] =?UTF-8?q?Update=20and=20rename=20P1377=5F=EB=B2=84?= =?UTF-8?q?=EB=B8=94=EC=86=8C=ED=8A=B81.java=20to=20P1377=5F=EB=B2=84?= =?UTF-8?q?=EB=B8=94=EC=A0=95=EB=A0=AC1.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...377_\353\262\204\353\270\224\354\240\225\353\240\2541.java" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename "\354\240\225\353\240\254/P1377_\353\262\204\353\270\224\354\206\214\355\212\2701.java" => "\354\240\225\353\240\254/P1377_\353\262\204\353\270\224\354\240\225\353\240\2541.java" (93%) diff --git "a/\354\240\225\353\240\254/P1377_\353\262\204\353\270\224\354\206\214\355\212\2701.java" "b/\354\240\225\353\240\254/P1377_\353\262\204\353\270\224\354\240\225\353\240\2541.java" similarity index 93% rename from "\354\240\225\353\240\254/P1377_\353\262\204\353\270\224\354\206\214\355\212\2701.java" rename to "\354\240\225\353\240\254/P1377_\353\262\204\353\270\224\354\240\225\353\240\2541.java" index aea547c..725f9d5 100644 --- "a/\354\240\225\353\240\254/P1377_\353\262\204\353\270\224\354\206\214\355\212\2701.java" +++ "b/\354\240\225\353\240\254/P1377_\353\262\204\353\270\224\354\240\225\353\240\2541.java" @@ -2,7 +2,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; -public class P1377_버블소트1 { +public class P1377_버블정렬1 { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(reader.readLine()); @@ -36,3 +36,4 @@ public int compareTo(mData o) {//value 기준 오름차순 정렬 } } + From 69405b992d60896786ae1e0fd4de6c44ec822948 Mon Sep 17 00:00:00 2001 From: doitcodingtest <108266421+doitcodingtest@users.noreply.github.com> Date: Fri, 31 Oct 2025 01:23:58 +0900 Subject: [PATCH 2/6] =?UTF-8?q?Update=20and=20rename=20P1517=5F=EB=B2=84?= =?UTF-8?q?=EB=B8=94=EC=86=8C=ED=8A=B82.java=20to=20P1517=5F=EB=B2=84?= =?UTF-8?q?=EB=B8=94=EC=A0=95=EB=A0=AC2.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...517_\353\262\204\353\270\224\354\240\225\353\240\2542.java" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename "\354\240\225\353\240\254/P1517_\353\262\204\353\270\224\354\206\214\355\212\2702.java" => "\354\240\225\353\240\254/P1517_\353\262\204\353\270\224\354\240\225\353\240\2542.java" (94%) diff --git "a/\354\240\225\353\240\254/P1517_\353\262\204\353\270\224\354\206\214\355\212\2702.java" "b/\354\240\225\353\240\254/P1517_\353\262\204\353\270\224\354\240\225\353\240\2542.java" similarity index 94% rename from "\354\240\225\353\240\254/P1517_\353\262\204\353\270\224\354\206\214\355\212\2702.java" rename to "\354\240\225\353\240\254/P1517_\353\262\204\353\270\224\354\240\225\353\240\2542.java" index b3cce26..bef6541 100644 --- "a/\354\240\225\353\240\254/P1517_\353\262\204\353\270\224\354\206\214\355\212\2702.java" +++ "b/\354\240\225\353\240\254/P1517_\353\262\204\353\270\224\354\240\225\353\240\2542.java" @@ -3,7 +3,7 @@ import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; -public class P1517_버블소트2 { +public class P1517_버블정렬2 { public static int[] A, tmp; public static long result; public static void main(String[] args) throws IOException { @@ -58,3 +58,4 @@ private static void merget_sort(int s, int e) { } } + From 85ce5aa46d6ac2caf73428971de30600c5993582 Mon Sep 17 00:00:00 2001 From: doitcodingtest <108266421+doitcodingtest@users.noreply.github.com> Date: Fri, 31 Oct 2025 01:31:15 +0900 Subject: [PATCH 3/6] =?UTF-8?q?Update=20and=20rename=20P1206=5FDFS?= =?UTF-8?q?=EC=99=80BFS.java=20to=20P1260=5FDFS=EC=99=80BFS.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../P1260_DFS\354\231\200BFS.java" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename "\355\203\220\354\203\211/P1206_DFS\354\231\200BFS.java" => "\355\203\220\354\203\211/P1260_DFS\354\231\200BFS.java" (94%) diff --git "a/\355\203\220\354\203\211/P1206_DFS\354\231\200BFS.java" "b/\355\203\220\354\203\211/P1260_DFS\354\231\200BFS.java" similarity index 94% rename from "\355\203\220\354\203\211/P1206_DFS\354\231\200BFS.java" rename to "\355\203\220\354\203\211/P1260_DFS\354\231\200BFS.java" index 9e991c2..932aee5 100644 --- "a/\355\203\220\354\203\211/P1206_DFS\354\231\200BFS.java" +++ "b/\355\203\220\354\203\211/P1260_DFS\354\231\200BFS.java" @@ -1,5 +1,5 @@ import java.util.*; -public class P1206_DFS와BFS { +public class P1260_DFS와BFS { static boolean visited[]; static ArrayList[] A; public static void main(String[] args) { @@ -57,3 +57,4 @@ private static void BFS(int node) { // BFS구현 } } } + From 30c4f4aa99c09942bc2d571d4b50d88f9d26b52f Mon Sep 17 00:00:00 2001 From: doitcodingtest <108266421+doitcodingtest@users.noreply.github.com> Date: Fri, 31 Oct 2025 02:33:37 +0900 Subject: [PATCH 4/6] =?UTF-8?q?Update=20and=20rename=20P13398=5F=EC=97=B0?= =?UTF-8?q?=EC=86=8D=EB=90=9C=EC=A0=95=EC=88=98=EC=9D=98=ED=95=A9.java=20t?= =?UTF-8?q?o=20P13398=5F=EC=97=B0=EC=86=8D=ED=95=A92.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../P13398_\354\227\260\354\206\215\355\225\2512.java" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename "\353\217\231\354\240\201\352\263\204\355\232\215\353\262\225/P13398_\354\227\260\354\206\215\353\220\234\354\240\225\354\210\230\354\235\230\355\225\251.java" => "\353\217\231\354\240\201\352\263\204\355\232\215\353\262\225/P13398_\354\227\260\354\206\215\355\225\2512.java" (94%) diff --git "a/\353\217\231\354\240\201\352\263\204\355\232\215\353\262\225/P13398_\354\227\260\354\206\215\353\220\234\354\240\225\354\210\230\354\235\230\355\225\251.java" "b/\353\217\231\354\240\201\352\263\204\355\232\215\353\262\225/P13398_\354\227\260\354\206\215\355\225\2512.java" similarity index 94% rename from "\353\217\231\354\240\201\352\263\204\355\232\215\353\262\225/P13398_\354\227\260\354\206\215\353\220\234\354\240\225\354\210\230\354\235\230\355\225\251.java" rename to "\353\217\231\354\240\201\352\263\204\355\232\215\353\262\225/P13398_\354\227\260\354\206\215\355\225\2512.java" index 4788c7e..26d0fd9 100644 --- "a/\353\217\231\354\240\201\352\263\204\355\232\215\353\262\225/P13398_\354\227\260\354\206\215\353\220\234\354\240\225\354\210\230\354\235\230\355\225\251.java" +++ "b/\353\217\231\354\240\201\352\263\204\355\232\215\353\262\225/P13398_\354\227\260\354\206\215\355\225\2512.java" @@ -1,7 +1,7 @@ import java.io.*; import java.util.StringTokenizer; -public class P13398_연속된정수의합 { +public class P13398_연속합2 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); @@ -36,3 +36,4 @@ public static void main(String[] args) throws IOException { br.close(); } } + From fa0bad3745d2d92750706f828b35ed0caae391cb Mon Sep 17 00:00:00 2001 From: doitcodingtest <108266421+doitcodingtest@users.noreply.github.com> Date: Sat, 1 Nov 2025 13:54:40 +0900 Subject: [PATCH 5/6] =?UTF-8?q?Update=20P11004=5FK=EB=B2=88=EC=A7=B8?= =?UTF-8?q?=EC=88=98.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../P11004_K\353\262\210\354\247\270\354\210\230.java" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/\354\240\225\353\240\254/P11004_K\353\262\210\354\247\270\354\210\230.java" "b/\354\240\225\353\240\254/P11004_K\353\262\210\354\247\270\354\210\230.java" index e6833e4..a0aebe0 100644 --- "a/\354\240\225\353\240\254/P11004_K\353\262\210\354\247\270\354\210\230.java" +++ "b/\354\240\225\353\240\254/P11004_K\353\262\210\354\247\270\354\210\230.java" @@ -3,7 +3,7 @@ import java.io.InputStreamReader; import java.util.StringTokenizer; -public class Main { +public class P11004_K번째수 { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(in.readLine()); From 487e465a13f6d361be9f4160ebca4c7332173070 Mon Sep 17 00:00:00 2001 From: doitcodingtest <108266421+doitcodingtest@users.noreply.github.com> Date: Sat, 24 Jan 2026 13:18:09 +0900 Subject: [PATCH 6/6] Create BOJ2749.java --- youtube/BOJ2749.java | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 youtube/BOJ2749.java diff --git a/youtube/BOJ2749.java b/youtube/BOJ2749.java new file mode 100644 index 0000000..dddccf8 --- /dev/null +++ b/youtube/BOJ2749.java @@ -0,0 +1,67 @@ +import java.io.*; + +public class Main { + // 문제에서 요구한 나누는 수 + final static long MOD = 1000000; + + public static void main(String[] args) throws IOException { + // 입력 속도를 위해 BufferedReader 사용 + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + // n은 최대 100경(10^18)이므로 long 사용 + long n = Long.parseLong(br.readLine()); + + // F_0 = 0 + if (n == 0) { + System.out.println(0); + return; + } + + // 피보나치 Q-행렬 기본값 + long[][] A = {{1, 1}, {1, 0}}; + + // 행렬 거듭제곱으로 Fn 구하기 + long[][] result = power(A, n); + + // M^n의 [0][1] 성분이 F_n임 + System.out.println(result[0][1] % MOD); + } + + // 분할 정복을 이용한 거듭제곱 (O(logN)) + private static long[][] power(long[][] A, long n) { + // 지수가 1이면 자기 자신 반환 (Base Case) + if (n == 1) { + // 반환할 때도 모듈러 연산 안전하게 한 번 해줌 + return new long[][] { + {A[0][0] % MOD, A[0][1] % MOD}, + {A[1][0] % MOD, A[1][1] % MOD} + }; + } + + // 1. 반으로 쪼개서 구함 (Divide) + long[][] half = power(A, n / 2); + + // 2. 구한 것을 제곱함 (Conquer) + long[][] result = multiply(half, half); + + // 3. 홀수라면 A를 한 번 더 곱해줌 + if (n % 2 == 1) { + result = multiply(result, A); + } + + return result; + } + + // 행렬 곱셈 함수 (나머지 연산 포함) + private static long[][] multiply(long[][] o1, long[][] o2) { + long[][] ret = new long[2][2]; + + // 2x2 행렬 곱셈 공식 + 모듈러 연산 + ret[0][0] = (o1[0][0] * o2[0][0] + o1[0][1] * o2[1][0]) % MOD; + ret[0][1] = (o1[0][0] * o2[0][1] + o1[0][1] * o2[1][1]) % MOD; + ret[1][0] = (o1[1][0] * o2[0][0] + o1[1][1] * o2[1][0]) % MOD; + ret[1][1] = (o1[1][0] * o2[0][1] + o1[1][1] * o2[1][1]) % MOD; + + return ret; + } +}