[백준] 1038번 감소하는 수

거북이·2023년 2월 13일
0

백준[골드5]

목록 보기
6/82
post-thumbnail

💡문제접근

  • combinations을 이용해서 조합가능한 모든 경우의 수를 구하는 방법으로 코드를 작성했다.
  • N번째 감소하는 수가 존재하지 않는다면 -1을 출력해야하므로 이 부분은 try...except문을 이용해서 예외처리해줬다.

💡코드(메모리 : 31256KB, 시간 : 44ms)

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)

💡소요시간 : 17m

0개의 댓글