반응형

소수 만드는 함수를 생각하는데 너무 힘든 문제였다..........

이 유형은 이해를 바탕으로 외우는게 가장 좋은 방법같다...!

이건다시봐야할문제!

class Solution {
    int a[] = new int[3];
    int answer = 0;
    
    public int solution(int[] nums) {
        combination(nums,0,0);
        return answer;
    }
    
    public void combination(int[] nums, int index, int depth){
        if(index == 3){
            System.out.println(a[0] + " " + a[1] + " "+ a[2]);
            int sum = a[0] + a[1] + a[2];         

            if(isSosu(sum)){ 
                answer++;
            }
            return;
        }
        
        if(depth >= nums.length){
            return;
        }
        
        a[index] = nums[depth];
        
        combination(nums, index+1, depth+1);
        combination(nums, index, depth+1);
    }
    
    
    public boolean isSosu(int sum){ //소수인지 판별하는 함수
        boolean result = true;
        for(int i=2; i<sum-1; i++){
            if(sum%i==0){
                result =  false;
            }
        }
        return result;
    }
}
반응형

'알고리즘 > 알고리즘(java,프로그래머스1,2단계위주)' 카테고리의 다른 글

핸드폰번호 가리기  (0) 2022.09.21
자릿수 더하기  (1) 2022.09.21
키패드 누르기  (0) 2021.09.17
숫자 문자열과 영단어  (0) 2021.09.17
오픈채팅방  (0) 2021.09.17

+ Recent posts