-문제: https://www.acmicpc.net/problem/11057

 

전에 스스로 푼 문제였는데 이번에도 스스로 푼 문제였다 

점화식 구하기 위해서 n==1, n==2, n==3일 때 구체적은 상황을 작성해봤다. 

그랬더니 dp[i][j]=dp[i][j-1]-dp[i-1][j-1]이라는 점화식을 구한후 코드로 옮겼다 

 

-정답풀이 

정답 제출 전에 잔잔바리 실수가 있었다

 

  • for i in range(2,n+1) 인데, for i in range(1,n+1)로해서 틀렸고 
  • 점화식 그대로 안 옮기고 dp[i][j-1]+dp[i-1][j-1]로 작성해서 틀렸고
  • 출력 할 때 dp[-1][-1]로 출력해서 틀렸고, 
  • 기껏 sum(dp[-1]) 출력했는데 10007로 나눈 나머지로 출력해야 됐어서 틀렸었다;;; 
n=int(input())
dp=[[0]*10 for _ in range(n+1)]
for i in range(10):
    dp[1][i]=1
    
for i in range(2,n+1):
    for j in range(10):
        if j==0:
            dp[i][j]=sum(dp[i-1])
        else:
            dp[i][j]=dp[i][j-1]-dp[i-1][j-1]
print(sum(dp[-1])%10007)

'백준 > DP' 카테고리의 다른 글

[dp/백준] 12865번: 평범한 배낭  (0) 2022.06.10
[dp/백준] 2293번: 동전1  (0) 2022.06.07
[dp/백준] 9251번: LCS  (0) 2022.06.07
[dp/백준] 9465번: 스티커  (0) 2022.06.06
[dp/백준] 14501번: 퇴사  (0) 2022.06.06

+ Recent posts