[백준 10844 실버1] 쉬운 계단 수(DP/파이썬) -/3

밀루·2023년 4월 3일

백준 문제풀이

목록 보기
22/51

https://www.acmicpc.net/problem/10844

n = int(input())
dp = [[0 for _ in range(10)] for _ in range(n)]

for i in range(1, 10):
    dp[0][i] = 1
for k in range(1, n):
    for i in range(0, 10):
        if i == 0:
            dp[k][i] = (dp[k-1][i+1])
        elif i==9:
            dp[k][i] = (dp[k-1][i-1])
        else:
            dp[k][i] = (dp[k-1][i-1]+dp[k-1][i+1]) % 1000000000

answer = 0
for i in range(0, 10):
    answer += dp[n-1][i]
print(answer % 1000000000)

Tech:

  1. 끝자리수를 나타내기 위해 10*n 리스트로 표현했다. (이 테크닉을 초기에 생각하지 못해 많이 헤맸다)
  2. %1000000 안해줘서 틀렸었다. 이 조건 다시 찾는데도 시간 걸렸다. 항상 문제 조건을 끝까지 따라가도록 하자.

복습:

0: 4.3 최초 공부
1:
2:
3:

profile
벨로그에 틀린 코드나 개선할 내용이 있을 수 있습니다. 지적은 언제나 환영합니다.

0개의 댓글