프로그래머스 | 소수 찾기

커몽·2021년 1월 2일
0

프로그래머스 level2

목록 보기
1/38

모든 조합을 찾아서(재귀함수이용) 소수(1과 자신으로만 나눠짐)갯수 리턴

모든 조합을 찾는 코드를 작성하는게 어려웠다.

function solution(numbers) {
    var answer = [];
   
    let arr=numbers.split('');
    const make=(arr,str)=>{
        if(arr.length>0){
            for(let i=0;i<arr.length;i++){
                let arrCopy=[...arr];
                arrCopy.splice(i,1);
                make(arrCopy,str+arr[i]);//모든 조합을 할 수 있도록 해주는 부분
            }
        }if(str.length>0){
            isPrime(str);
        }  
    }
    const isPrime=(str)=>{
        let count=0;
        for(let i=1;i<=Number(str);i++){
            if(Number(str)%i===0){
                count++;
            }
            if(count>=3){
                break;
            }
        }
        if(count===2&&!answer.includes(Number(str))){
            answer.push(Number(str));       
        }
    }
    make(arr,'')
    return answer.length;
}

0개의 댓글