[ BOJ / Python ] 1038번 감소하는 수

[ BOJ / C++ ] 1038번 감소하는 수
C++로 풀어봤던 문제를 python으로 다시 풀어보았다. 확실히 python은 내장함수가 많아서 코드가 짧게 나오는 것 같다. append와 len, sorted 등을 사용하였다.

n=int(input())
result=[]
def DFS(idx, cnt):
    if cnt>10:
        return
    result.append(idx)
    for i in range(10):
        if idx%10>i:
            DFS(idx*10+i, cnt+1)
    return
for i in range(10):
    DFS(i, 1)
result=sorted(result)
if len(result)<=n:
    print("-1")
else:
    print(result[n])

좋은 웹페이지 즐겨찾기