https://school.programmers.co.kr/learn/courses/30/lessons/154538
#include <string>
#include <vector>
#include <map>
using namespace std;
void search(int x, int y, int n, int count, vector<int>& v)
{
if (v[x] && count >= v[x]) return;
v[x] = count;
if (x + n <= y) search(x + n, y, n, count + 1, v);
if (x * 2 <= y) search(x * 2, y, n, count + 1, v);
if (x * 3 <= y) search(x * 3, y, n, count + 1, v);
}
int solution(int x, int y, int n) {
if (x == y) return 0;
vector<int> v(y, 0);
search(x, y, n, 0, v);
return !v[y] ? -1 : v[y];
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] Lv 2. 롤케이크 자르기 (0) | 2023.07.21 |
---|---|
[Programmers] (월간 코드 챌린지 시즌2) Lv 2. 2개 이하로 다른 비트 (0) | 2023.07.21 |
[Programmers] Lv 2. 2 x N 타일링 (0) | 2023.07.19 |
[Programmers] (2018 KAKAO BLIND RECRUITMENT) Lv 2. [1차] 프렌즈4블록 (0) | 2023.07.18 |
[Programmers] (2018 KAKAO BLIND RECRUITMENT) Lv 2. [3차] 파일명 정렬 (0) | 2023.07.15 |
댓글