diff --git "a/zinnnn37/202510/20 BOJ G5 \352\260\220\354\206\214\355\225\230\353\212\224 \354\210\230.md" "b/zinnnn37/202510/20 BOJ G5 \352\260\220\354\206\214\355\225\230\353\212\224 \354\210\230.md" new file mode 100644 index 00000000..6c838ed8 --- /dev/null +++ "b/zinnnn37/202510/20 BOJ G5 \352\260\220\354\206\214\355\225\230\353\212\224 \354\210\230.md" @@ -0,0 +1,55 @@ +```java +import java.io.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class BJ_1038_감소하는_수 { + + private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + private static int N; + private static List nums; + + public static void main(String[] args) throws IOException { + if (init()) { + for (int i = 0; i <= 9; i++) { + sol(i); + } + Collections.sort(nums); + bw.write(nums.get(N) + ""); + } + bw.flush(); + bw.close(); + br.close(); + } + + private static boolean init() throws IOException { + N = Integer.parseInt(br.readLine()); + + if (N <= 10) { + bw.write(N + ""); + return false; + } else if (N >= 1023) { + bw.write("-1"); + return false; + } + nums = new ArrayList<>(); + + return true; + } + + private static void sol(long num) throws IOException { + nums.add(num); + + long mod = num % 10; + if (mod == 0) return; + + for (int i = 0; i < mod; i++) { + sol(num * 10 + i); + } + } + +} +``` \ No newline at end of file