이 문제는 다이나믹으로 분류되어 있는 문제다.
3가지의 경우가 있다
첫번째 경우 d[n] = d[n/3]+1 3으로 나누어 떨어지는 경우 n%3==0
두번쨰경우. d[n] = d[n/2]+1 2로 나누어 떨어지는 경우 n%2 ==0
세번째경우 d[n] = d[n-1]+1 그 외
세개중에 가장 적은 값으로 저장하도록 코딩을 하면 된다.
'알고리즘구현능력 > 문제해결능력' 카테고리의 다른 글
[java] 백준/1003 피보나치 함수 (0) | 2019.03.28 |
---|---|
[java] 백준/ 9095 1, 2, 3 더하기 (0) | 2019.03.28 |
[java] 백준/2579 계단오르기문제 (0) | 2019.03.28 |
[java] 백준/2775 (0) | 2019.02.22 |
백준/1011 (0) | 2019.02.21 |