알고리즘구현능력/문제해결능력

[java] 백준/1463 1로 만들기

dreammarker 2019. 3. 28. 17:38

이 문제는 다이나믹으로 분류되어 있는 문제다.

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 그 외

세개중에 가장 적은 값으로 저장하도록 코딩을 하면 된다.