www.acmicpc.net/problem/1038
main
static int cnt;
static ArrayList<Long> list ;
public static void main(String[] args) {
// 음이 아닌 정수 x
//n번째 감소하는 수가 없다면 -1 출력
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
list = new ArrayList<Long>();
if(num<=10){
System.out.println(num);
}else if(num > 1022){
System.out.println("-1");
}else{
for (int i = 0; i < 10; i++) {
calculator(i,1);
Collections.sort(list);
}
System.out.println(list.get(num));
}
}
수만들기
public static void calculator(long num,int idx){
list.add(num);
//해당하는 수 만들기
for (int i = 0; i < num % 10 ; i++) {
calculator((num*10)+i,idx+1);
}
}