728x90
반응형
백준 코딩 알고리즘 문제 1463번
백준 코딩 알고리즘 문제 1463번 풀이 - 사용 언어: C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include <iostream>
#include <algorithm>
#define MAX 1000000
using namespace std;
int operNum[MAX + 1];
int main() {
int X;
cin >> X;
operNum[0] = 0;
operNum[1] = 0;
operNum[2] = 1;
operNum[3] = 1;
//연산 횟수를 저장하는 배열을 최대 크기까지 채운다
for (int i = 4; i <= MAX; i++) {
//각 수가 조건에 맞는 가능한 연산에 따라서 배열의 값(연산의 횟수)를 채운다
if (i % 2 == 0 && i % 3 == 0) {
operNum[i] = min(1 + operNum[i - 1], min(1 + operNum[i / 2], 1 + operNum[i / 3]));
}
else if (i % 2 == 0) {
operNum[i] = min(1 + operNum[i / 2], 1 + operNum[i - 1]);
}
else if (i % 3 == 0) {
operNum[i] = min(1 + operNum[i / 3], 1 + operNum[i - 1]);
}
else {
operNum[i] = 1 + operNum[i - 1];
}
}
cout << operNum[X] << endl;
return 0;
}
|
cs |
728x90
반응형
'Dev > BAEKJOON 백준' 카테고리의 다른 글
[백준/BOJ] 백준 코딩 알고리즘 11726번/C++ (0) | 2019.07.25 |
---|---|
[백준/BOJ] 백준 코딩 알고리즘 9465번/C++ (0) | 2019.07.25 |
[백준/BOJ] 백준 코딩 알고리즘 2447번/C++ (0) | 2019.07.25 |
[백준/BOJ] 백준 코딩 알고리즘 1182번/C++ (0) | 2019.07.20 |
[백준/BOJ] 백준 코딩 알고리즘 2503번/C++ (0) | 2019.07.20 |