#include #include using namespace std; int dp[1000001]; int solve(int n){ for(int i=2; i> N; dp[1] = 0, dp[0] = 0; cout -1을 실행해서 1로 만드는 경우 : 숫자 '4'를 예시로 들어보자. '4'를 1로 만드는 방법은 나누기 2를 두번 걸치면 된다. 다른 방법으로도 1을 만들 수 있지만, 어찌되었건 공통적으로 토탈 과정은 '2'번을 거쳐서 1이 나온다. 그 다음 번째 숫자인 '5'를 1로 만든다고 가정해보자. 2를 나누냐 3을 나누냐를 떠나서, 4를 1로 만드는 과정에서 +1을 더해주면 5가 나오기 때문이다. 2. if(i%3==0) dp[i] = min(dp[i],dp[i/3]+1); ---> 3을 나누어 1..