[Python] 백준 1038. 감소하는 수
풀이
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)
Author And Source
이 문제에 관하여([Python] 백준 1038. 감소하는 수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@imnotmoon/Python-백준-1038.-감소하는-수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)