본문 바로가기
알고리즘

BOJ 1038번(감소하는 수)

by eunyoung 2023. 3. 26.

난이도


골드 V

 

 

 

풀이


파이썬의 combinations 즉 조합을 이용해서 문제를 해결하였다.

import sys
from itertools import combinations

input=sys.stdin.readline

N=int(input())
arr=[]

for i in range(1,11):
    for num in combinations(range(0,10),i):
        num=list(num)
        num.sort(reverse=True)
        arr.append(int("".join(map(str,num))))

arr.sort()

try:
    print(arr[N])
except:
    print(-1)

 

 

링크


https://www.acmicpc.net/problem/1038

 

1038번: 감소하는 수

음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를

www.acmicpc.net