From 4605376b10e9eeb44a4f280fa64b0648bd0168a1 Mon Sep 17 00:00:00 2001 From: LiiNi-coder <97495437+LiiNi-coder@users.noreply.github.com> Date: Mon, 22 Sep 2025 23:47:18 +0900 Subject: [PATCH] =?UTF-8?q?[20250922]=20BOJ=20/=20G5=20/=201=EB=A1=9C=20?= =?UTF-8?q?=EB=A7=8C=EB=93=A4=EA=B8=B0=202=20/=20=EC=9D=B4=EC=9D=B8?= =?UTF-8?q?=ED=9D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... \353\247\214\353\223\244\352\270\2602.md" | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 "LiiNi-coder/202509/22 BOJ 1\353\241\234 \353\247\214\353\223\244\352\270\2602.md" diff --git "a/LiiNi-coder/202509/22 BOJ 1\353\241\234 \353\247\214\353\223\244\352\270\2602.md" "b/LiiNi-coder/202509/22 BOJ 1\353\241\234 \353\247\214\353\223\244\352\270\2602.md" new file mode 100644 index 00000000..8e0fe0a1 --- /dev/null +++ "b/LiiNi-coder/202509/22 BOJ 1\353\241\234 \353\247\214\353\223\244\352\270\2602.md" @@ -0,0 +1,43 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int n = Integer.parseInt(br.readLine()); + int[] dp = new int[n + 1]; + int[] before = new int[n + 1]; //이전 경로 + + dp[1] = 0; + for (int i = 2; i <= n; i++) { + // 1뻄 + dp[i] = dp[i - 1] + 1; + before[i] = i - 1; + // 2로 나눔 + if (i % 2 == 0&& dp[i] > dp[i / 2] + 1) { + dp[i] = dp[i / 2] + 1; + before[i] = i / 2; + } + // 3으로 나눔 + if (i % 3 == 0 && dp[i] > dp[i / 3] + 1) { + dp[i] = dp[i / 3] + 1; + before[i] = i / 3; + } + } + + StringBuilder sb = new StringBuilder(); + sb.append(dp[n]).append("\n"); + + int cur = n; + while (cur > 0) { + sb.append(cur).append(" "); + if (cur == 1) + break; + cur = before[cur]; + } + System.out.println(sb); + } +} + +```