소수찾기

Happhee·2022년 1월 29일
0

[ Lv2 ] programmers

목록 보기
3/32
post-thumbnail

📝 소수찾기

🖥 나의 JS 코드

function isPrime (number){
    if(isNaN(number) || number === 0 || number === 1)
        return false;
    
    for(let i = 2 ; i< number ; i++){
        if(number% i === 0  )
            return false;
    }
    return true;
}

function solution(numbers) {
    var answer = [];
    numbers = numbers.split('');
    
    function exhaustiveSearch(numbers, arr){
        if(numbers.length){
            for(let i = 0 ; i < numbers.length ; i++){
                let temp = [...numbers];
                //해당 위치의 요소를 일단 제거 후
              	temp.splice(i,1);
              	// 현재 문자열 + 해당위치의 문자를 더한 것의 소수를 판별
                if(isPrime(parseInt(arr+numbers[i]))){
                    answer.push(parseInt(arr+numbers[i]));
                }
              
                // 더한 요소 제거한 배열, 현재 문자열 + 해당위치의 문자를 다시 재귀로 호출
                exhaustiveSearch(temp, arr+ numbers[i])
            }
        } 
    }
    exhaustiveSearch(numbers,'')
  // 답들중 중복되는 숫자들은 제거 후
    answer =[...new Set(answer)]
 //최종적으로 길이 반환
    return answer.length;
}

\

profile
즐기면서 정확하게 나아가는 웹프론트엔드 개발자 https://happhee-dev.tistory.com/ 로 이전하였습니다

0개의 댓글