소수 만들기

문제 프로그래머스 소수 만들기

🔑 Key
3중 반복문을 돌려 모두 더하게 만들고, 더한 결과가 소수이면 answer++


풀이

// 소수 판별 함수
function prime(k) {
    if(k === 2) return true;
    if(k % 2 === 0) return false;
    if(k === 3) return true;
    for(let i = 3; i*i <= k; i += 2){
        if(k % i === 0) return false;
    }
    return true;
} 

// 3중 반목문
function solution(nums) {
    let answer = 0;
    for (let i = 0; i < nums.length; i++){
        for(let j = i+1; j < nums.length; j++){
            for(let k = j+1; k < nums.length; k++){
             	 // 더한 값을 key에 담는다.
                let key = nums[i] + nums[j] + nums[k]; 
              	// key가 소수이면 answer++
                if(prime(key)) answer++;
            }
        }
    }
    return answer;
}

0개의 댓글