[BOJ] 1463. 1로 만들기

동스토리 ㅣ 2020. 9. 20. 14:44

반응형

문제

www.acmicpc.net/problem/1463

 

1463번: 1로 만들기

첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.

www.acmicpc.net


코드

#include<iostream>
#include<algorithm>
using namespace std;

int DP[1000001];

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	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];
}

 

 

반응형

'Development > Algorithm' 카테고리의 다른 글

[BOJ] 11727. 2 x n 타일링2  (0) 2020.09.20
[BOJ] 11726. 2 x n 타일링  (0) 2020.09.20
[BOJ] 13460. 구슬 탈출 2  (0) 2020.09.20
[SWEA] 1206. [S/W 문제해결 기본] 1일차 - View  (0) 2020.09.19
[BOJ] 11718. 그대로 출력하기  (0) 2020.09.18