본문 바로가기
프로그래머스

N으로 표현

by paysmile 2019. 9. 10.
#include <string>
#include <vector>
#include <algorithm>

using namespace std;
int answer = 9;

void dfs(int n, int count, int num, int number) {
	if (count > 8)
		return;
	if (num == number) {
		answer = min(answer,count);
		return;
	}

	int index = 0;
	for (int i = 0; i < 8; i++) {
		index = index * 10 + n;
		dfs(n, count + 1 + i, num + index, number);
		dfs(n, count + 1 + i, num - index, number);
		dfs(n, count + 1 + i, num * index, number);
		dfs(n, count + 1 + i, num / index, number);
	}
	return;
}

int solution(int N, int number) {
	dfs(N, 0, 0, number);
	if (answer >= 9)
		answer = -1;
	return answer;
}

'프로그래머스' 카테고리의 다른 글

단속 카메라  (0) 2019.09.23
타일 장식물  (0) 2019.09.16
네트워크  (0) 2019.09.16
2 x n 타일링  (0) 2019.09.11
카카오프렌즈 컬러링북  (0) 2019.09.10