// 주어진 숫자 중 3개의 수를 더했을때 //
// 소수가 되는 경우의 개수를 구하려고 합니다. //
// 숫자들이 들어있는 배열 nums 가 매개변수로 주어질때, nums 에 있는 숫자들 중
// 서로 다른 3개를 골라 더 했을때 소수가 되는 경우의 갯수를 return 하도록 solution 함수를 완성해주세요.
// 소수 : 나누었을때 자신과 1 만 나오는 수
// 제한사항
// nums 에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다.
// nums 의 각 원소는 1이상 1000 이하의 자연수 이며, 중복된 숫자가 들어있지 않습니다.
// 입출력 예 numsresult
// #1. [1,2,3,4] 1 =>
// #2. [1,2,7,6,4] 4 =>
// 입출력 예 #1 설명
// [1,2,4]를 이용해서 7을 만들 수 있습니다.
// 입출력 예 #2 설명
// [1,2,4]를 이용해서 7을 만들 수 있습니다.
// [1,4,6]를 이용해서 11을 만들 수 있습니다.
// [2,4,7]를 이용해서 13을 만들 수 있습니다.
// [4,6,7]를 이용해서 7을 만들 수 있습니다.
solution([1, 2, 7, 6, 4]);
function checkPrimeNumber(num) // 그 숫자가 소수인지 판단하는 코드
{
// 17 = 1, 17로만 나누어 떨어지는 숫자 소수가 아닌 숫자를 찾자
for(let i = 2; i < num; i++)
{
if(num % i == 0)
{
return false;
}
}
return true;
}
function solution(nums)
{
let sumNumber = 0;
let result = 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++)
{
sumNumber = nums[i] + nums[j] + nums[k];
if(checkPrimeNumber(sumNumber))
{
result++;
}
console.log(sumNumber);
}
}
}
console.log(result);
return result;
}
한번에 풀려고 생각하지말고 나눠서 생각하기
함수는 한번에 한기능씩 넣기