백준 문제풀이

백준 1463번 - C++

diligent_gideok 2022. 5. 12. 20:46
#include <bits/stdc++.h>
using namespace std;

int D[1000002];
int n;
int main(void) {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin >> n;
	D[1] = 0;
	for (int i = 2; i < 1000002; i++) {
		D[i] = D[i - 1] + 1;
		if (i % 2 == 0) D[i]=min(D[i],D[i/2]+1);
		if (i % 3 == 0) D[i] = min(D[i], D[i / 3] + 1);
	}
	cout << D[n];
}