combinations
을 이용해서 조합가능한 모든 경우의 수를 구하는 방법으로 코드를 작성했다.- N번째 감소하는 수가 존재하지 않는다면 -1을 출력해야하므로 이 부분은
try...except
문을 이용해서 예외처리해줬다.
from itertools import combinations
import sys
input = sys.stdin.readline
N = int(input().strip())
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
li = []
for i in range(1, 11):
for j in combinations(arr, i):
j = list(j)
j.sort(reverse=True)
li.append(int(''.join(map(str, j))))
li.sort()
try:
print(li[N])
except IndexError:
print(-1)