본문 바로가기
Algorithm/DP

[프로그래머스] N으로 표현 (JAVA)

by 루시킴 2021. 10. 16.

https://programmers.co.kr/learn/courses/30/lessons/42895

 

코딩테스트 연습 - N으로 표현

 

programmers.co.kr

import java.util.*;

class Solution {
    int result=Integer.MAX_VALUE;
    int A;
    void solve(int n, int cur, int cnt){
        if(cnt>8) return;
        if(cur==n) {
            result=Math.min(result,cnt);
            return;
        }
        int temp=A;
        for(int i=1; i<=8-cnt; i++){
            solve(n,cur+temp,cnt+i);
            solve(n,cur-temp,cnt+i);
            solve(n,cur/temp,cnt+i);
            solve(n,cur*temp,cnt+i);
            temp=temp*10+A;
        }

        
        
    }
    
    public int solution(int N, int number) {
        int answer = 0;
        A=N;
        solve(number,0,0);
        answer=(result==Integer.MAX_VALUE? -1 : result);
        return answer;
    }
}

댓글