NOTE/프로그래머스
N으로 표현
m-inz
2022. 3. 29. 23:54
class Solution {
static int min = Integer.MAX_VALUE;
static int N;
public int solution(int a, int number) {
N=a;
calc(number,0,0);
return (min==Integer.MAX_VALUE) ? -1 : min;
}
public void calc(int number, int val, int count){
if(count>8) return;
if(val==number){
min=Math.min(min,count);
return;
}
int temp = 0;
for(int i=1; i<=8-count; i++){
temp=temp*10+N;
calc(number,val+temp,count+i);
calc(number,val-temp,count+i);
calc(number,val/temp,count+i);
calc(number,val*temp,count+i);
}
}
}
DFS긴 하지만 ,,,
이것도 넘 천재적이라 느낌;;;;;;;;;;;;;;;;; 하아 다시 풀어야지,.,