[프로그래머스] 소수 만들기 javascript

[2017 서머코딩] level2 소수 만들기

javascript

조건
* nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return

제한사항
  • nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다.
  • nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다.

입출력 예
numsresult
[1,2,3,4]1
[1,2,7,6,4]4

코드
function solution(nums) {
    let answer = 0;
    
    //1. 3자리 숫자 만들기
    const len = nums.length;
    for (let i = 0; i < len; i++)
    {
        for (let j = i+1; j < len; j++)
        {
            for (let k = j+1; k < len; k++)
            {
                const number = nums[i]+nums[j]+nums[k];
                if (isPrime(number))
                    answer++;
            }
        }
    }

    //2. 소수 판별(2~number까지 하나씩 비교)
    function isPrime(number)
    {
        if (number < 2) return true;
        for (let i = 2; i < number; i++)
        {
            if (number % i == 0) return false;
        }
        return true;
    }
    
    return answer;
}

댓글