코딩 테스트/프로그래머스 level1
소수 만들기
fullfish
2022. 8. 6. 12:00

아이디어
삼중 for문으로 nums배열을 더하고 에라토스테네스의 채를 사용하여 소수 판별을 했다
코드
function solution(nums) {
let count = 0;
for (let i = 0; i < nums.length - 2; i++) {
for (let j = i + 1; j < nums.length - 1; j++) {
for (let k = j + 1; k < nums.length; k++) {
let sum = nums[i] + nums[j] + nums[k];
if (isPrime(sum)) count++;
}
}
}
return count;
}
function isPrime(num) {
if (num <= 1) {
return false;
}
if (num % 2 === 0) {
return num === 2 ? true : false;
}
const sqrt = parseInt(Math.sqrt(num));
for (let i = 3; i <= sqrt; i += 2) {
if (num % i === 0) {
return false;
}
}
return true;
}