string 타입으로 숫자를 조합해 큐와 함께 풀었다.
처음 큐에 '0' ~ '9'까지 넣어두고
하나씩 꺼내며 0~9까지 숫자를 하나씩 덧붙여보며 붙였을 때 '감소하는 수'가 되는지 확인했다. (중간에 안되면 더 큰 숫자를 볼 필요가 없으므로 break
했다.)
'감소하는 수'가 되면 total
카운트를 증가시키고 total
과 N
이 같아졌을 때 큐에 마지막으로 들어간 숫자를 출력하고 프로그램을 종료시켰다.
from collections import deque
N = int(input())
q = deque(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])
total = 9
if N <= 9 :
print(q[N])
exit(0)
while q:
c = q.popleft()
for i in range(0, 10):
if int(c[-1]) <= i : break
q.append(c+str(i))
total += 1
if total == N:
print(q[-1])
exit(0)
print(-1)