알고리즘/문제
[브루트포스] 백준 1038 감소하는 수
_Min
2021. 3. 18. 01:13
문제링크 www.acmicpc.net/problem/1038
※※답 보기 전에 알고가기※※
n이 1022이면 x가 9876543210이 돼서
n이 1023일 때부터는 감소하는 수가 없게 된다.
이 때 부터는 무조건 -1을 출력하면 된다
시간 복잡도를 최대한 줄였는데 왜 시간초과가 나는지 생각하고 있었는데
이거 때문이었다
[답코드]
import sys
input=sys.stdin.readline
n=int(input())
arr=[i for i in range(10)]
i=1
while True:
if i>1022:
break
back=arr[i]%10
for j in range(back):
arr.append(arr[i]*10+j)
i+=1
arr.sort()
# print(arr)
if n>len(arr)-1:
print(-1)
else:
print(arr[n])
728x90