난이도
골드 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
'알고리즘' 카테고리의 다른 글
BOJ 16922번(로마 숫자 만들기) (0) | 2023.03.27 |
---|---|
BOJ 11054번 (가장 긴 바이토닉 부분 수열) (0) | 2023.03.26 |
BOJ 9324번(진짜 메세지) (0) | 2023.03.24 |
BOJ 1260번 - DFS와 BFS (0) | 2023.03.22 |
프로그래머스 가장 큰 수(자바) (0) | 2023.03.15 |