DP는 결국 점화식을 찾고
점화식을 어떻게 배열에 저장해줄지 결정하면 된다.
N = int(input())
#각 수마다 10개씩 값을 갖는다
dp = [[0 for i in range(10)] for j in range(101)]
#첫 시행 초기화
for i in range(1,10):
dp[1][i] = 1
#카운팅 0, 9,1~8 은 규칙이 다른것을 생각하자
for i in range(2,N+1):
for j in range(10):
if j == 0:
dp[i][j] = dp[i-1][1]
elif j == 9:
dp[i][j] = dp[i-1][8]
else:
dp[i][j] = dp[i-1][j-1] + dp[i-1][j+1]
print(sum(dp[N]) % 1000000000)
https://pacific-ocean.tistory.com/151
[백준] 10844번(python 파이썬)
문제 링크: https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net n = int(input()) dp = [[0 for i in range(10)] for j..
pacific-ocean.tistory.com
'Data Science > 알고리즘 공부' 카테고리의 다른 글
[백준][파이썬] 11053 가장 긴 증가하는 부분 수열 (0) | 2020.08.03 |
---|---|
[백준][파이썬] 11057 오르막 수 (0) | 2020.07.28 |
[백준][파이썬] 1,2,3 더하기 (0) | 2020.07.21 |
[파이썬][알고리즘] 11727 2Xn 타일링 2 (0) | 2020.07.21 |
[백준][파이썬] 11726 2Xn 타일링 (0) | 2020.07.21 |
댓글