배운 것
출처 : BaaaaaaaarkingDog | [실전 알고리즘] 0x10강 - 다이나믹 프로그래밍 (encrypted.gg)
정답 코드
#include <bits/stdc++.h>
using namespace std;
int d[1000005];
int n;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
d[1] = 0;
for(int i = 2; i <= n; 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];
}
'Algorithm > C++' 카테고리의 다른 글
[백준 15657] N과 M (8) (0) | 2022.09.28 |
---|---|
[백준 9095] 1,2,3 더하기 (0) | 2022.09.28 |
[백준 5648] 역원소 정렬 (0) | 2022.09.27 |
[백준 2146] 다리 만들기 (0) | 2022.09.27 |
[백준 11652] 카드 (0) | 2022.09.26 |
댓글