[백준] 1463 1로만들기

leejihun·2022년 6월 8일
0

알고리즘

목록 보기
23/50

https://www.acmicpc.net/problem/1463

#include<iostream>
using namespace std;
#include<math.h>

int dp[1000001];

int main()
{

	dp[1] = 0;
	int N;
	cin >> N;


	for (int i = 2; i <= N; i++)
	{
		dp[i] = dp[i - 1] + 1;
		if (i % 2 == 0)
			dp[i] = min(dp[i], (dp[i / 2] + 1));
		if (i % 3 == 0)
			dp[i] = min(dp[i],(dp[i / 3] + 1));


	}

	cout << dp[N];
}

DP는 초기값 , 점화식 찾아서 반복문으로 값을 구해나가는게 기본구조

https://www.youtube.com/watch?v=5leTtB3PQu0&ab_channel=BaaarkingDog

profile
U+221E

0개의 댓글