길이를 N이라 하고 L을 마지막 자리수값으로 할때
N = 1
1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 9
dp[n][L] 1부터 9까지 1대입 0은 올수없으므로 제외
N= 2
L이 0일떄
dp[2][0] = dp[1][1] -> 10 n이 1이고 l이 1인값
L이 1~8 사이일때
dp[2][1] = dp[1][2] +dp[1][0] ->12 dp[1][0]은 01 이므로 dp[1][0]이 0이다..
dp[2][2] = dp[1][1] +dp[1][3] -> 21 , 23 길이가 1이고 마지막숫자가 1이나 3인값
....
L이 9일때
dp[2][9] = dp[1][8] 길이가 1이고 마지막숫자가 8 ->98
규칙...
이전자리가 0이면 그다음 자리엔 1
이전자리가 1이면 그다음자리엔 2 이나 0
이전자리가 2이면 그다음자리엔 3 이나 1
이전자리가 3이면 그다음자리엔 4 이나 2
이전자리가 4이면 그다음자리엔 5 이나 3
이전자리가 5이면 그다음자리엔 6 이나 4
이전자리가 6이면 그다음자리엔 7 이나 5
이전자리가 7이면 그다음자리엔 8 이나 6
이전자리가 8이면 그다음자리엔 9 이나 7
이전자리가 9이면 그다음자리엔 8
'알고리즘구현능력 > 문제해결능력' 카테고리의 다른 글
[java] 백준/11053 가장 긴 증가하는 부분 수열 (0) | 2019.04.03 |
---|---|
[java] 백준/11727 2xn 타일링 2 (0) | 2019.04.02 |
[java] 백준/1912 연속합 (0) | 2019.04.01 |
[java] 백준/2156 포도주 시식 (0) | 2019.03.29 |
[java] 백준/1932 정수삼각형 (2) | 2019.03.29 |