CodingSpace

프로그래머스#46(Lv.1)_소수 만들기 본문

프로그래머스/Level1

프로그래머스#46(Lv.1)_소수 만들기

개발자_조이킴 2021. 10. 31. 21:48

소수 만들기

다른 분들이 하신것 보고 배우고 또 배우자! (소수 판별하기!)

 

포기하지말고 계속해서 공부하자!

화이팅:)

 

입출력 예시


// 프로그래머스 - 소수 만들기

function solution(nums) {
    
    // [1,2,3] => 1+2+3=6
    // [1,2,4] => 1+2+4=7
    // [1,3,4] => 1+3+4=8
    // [2,3,4] => 2+3+4=9
    
    // [1,2,7] => 1+2+7=10 x
    // [1,2,6] => 1+2+6=9 x
    // [1,2,4] => 1+2+4=7 o
    // [1,7,6] => 1+7+6=14 x
    // [1,7,4] => 1+7+4=12 x
    // [1,6,4] => 1+6+4=11 o
    // [2,7,6] => 2+7+6=15 x
    // [2,7,4] => 2+7+4=13 o
    // [2,6,4] => 2+6+4=12 x
    // [7,6,4] => 7+6+4=17 o
    
    let cnt = 0

    let isPrime=(sum) => {
    
     for(let i = 2; i <= parseInt(Math.sqrt(sum)); i++) {
        
        if(sum % i === 0) return false
        
     }
    
     return true
    }


    
    while(nums.length >= 3) {

        
        let front = nums.shift()
        
        for(let i = 0; i < nums.length; i++) {
            for(let j = i+1; j < nums.length; j++) {
                
                let sum = front + nums[i] + nums[j]


                let check = isPrime(sum)
                
                if(check) cnt++
                
            }
        }
        
    }
    
    return cnt
}

<다른분의 solution>


 

 

Comments