오르막 수

일정이 많은 날이라 쉬운 DP문제로 두개 풀었다.

10,007로 나누지 않아서 틀렸었다. 문제를 제대로 꼼꼼히 읽자! 점화식은 금방 찾을 수 있었다.

CODE

import sys
read=sys.stdin.readline

n=int(read())
dp=list(list(0 for _ in range(10)) for _ in range(n+1))

for i in range(10):
    dp[1][i]=1
for i in range(n+1):
    dp[i][0]=1

for i in range(2,n+1):
    for j in range(1,10):
        dp[i][j]=(dp[i-1][j]+dp[i][j-1])%10_007

print(sum(dp[-1])%10_007)


이친수

굉장히 쉬웠다. 0으로 시작하지 않는다는 조건 덕분에 훨씬 쉽게 풀 수 있었다.

CODE

import sys
read=sys.stdin.readline

n=int(read())
dp=list(list(0 for _ in range(2)) for _ in range(n+1))

dp[1]=[0,1]

for i in range(2,n+1):
    dp[i][1]=dp[i-1][0]
    dp[i][0]=sum(dp[i-1])

for d in dp:
    print(d)

print(sum(dp[-1]))


풀어야 할 문제

  • 스타트 택시
  • 미네랄
  • 회전 초밥
  • 아기 상어
  • 전깃줄 -2
  • 치즈