IT/코딩

백준 11057번 오르막 수 파이썬 풀이

new1life 2022. 8. 21. 21:38

백준 11057 오르막 수
풀이

자신 다음의 수가 자신보다 크거나 같기만 하면 오르막 수가 된다.

n=1일 때 

0부터 9까지 각 1개씩 경우가 생긴다.

n=2일 때

전 값이 0이라면 0~9(10개), 1이면 1~9(9개), 2면 2~9(8개), ...... , 9이면 9(1개)라는 것을 알 수 있다.

 

1. 변수 a에 n값을 입력받는다.

a = int(input())
 
2. b에 0부터 9까지의 경우의 수를 넣어 줄 a개수 만큼 생성한다.
b = [[0]*10 for i in range(a+1)]
 
3.
a=1일 때 각 값은 1개씩이므로 집어넣어 준다.
b[1] = [1]*10
 
4. a=2일 때부터 돌아준다. 위에서 그 전 값의 합계라는 것을 알아냈다.
for i in range(2,a+1):
  for j in range(0,10):
    b[i][j] = sum(b[i-1][j:])

print(sum(b[a])%10007)