int answer = 9;
int goal = 0;
void cal(int n, int cnt, int sum)
{
if (cnt > 8)
return;
if (sum == goal &&
answer > cnt)
answer = cnt;
int tmp = 0;
for (int i = 1; i <= 8; i++)
{
tmp = (tmp * 10) + n;
cal(n, cnt + i, sum + tmp);
cal(n, cnt + i, sum - tmp);
cal(n, cnt + i, sum / tmp);
cal(n, cnt + i, sum * tmp);
}
}
int solution(int N, int number)
{
goal = number;
cal(N, 0, 0);
return (answer > 8) ? -1 : answer;
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[2] 오픈 채팅방 (0) | 2022.08.11 |
---|---|
[2] 이진 변환 반복하기 (0) | 2022.08.11 |
[1] 신고 결과 받기 (0) | 2022.05.31 |
[2] 기능 개발 (0) | 2022.05.31 |
[3] 여행경로 (0) | 2022.05.31 |