어디까지 갈 수 있을까?

[브루트포스] 백준 1038 감소하는 수 본문

알고리즘/문제

[브루트포스] 백준 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
Comments