알고리즘
[프로그래머스 level.1] 3중반복문, 소수 판별식
고래강이
2023. 6. 21. 11:10
소수 만들기
function solution(nums) {
let result = [], count = 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++) {
let num = nums[i] + nums[j] + nums[k]
if (isPrime(num)) {
count += 1
}
}
}
}
return count;
}
const isPrime = (n) => {
for (let i = 2; i <= Math.sqrt(n); i++) {
if (n % i === 0) {
return false;
}
}
return true;
}
삼중반복문 쓰기 싫지만 다 쓰고있어서 어쩔 수 없이 쓰게 되었다 좀 마음이 께림직하다....
소수를 구하는 공식은 간단하다 2부터 나의 제곱근?까지 나를 나누어보았을 때 나누어지지 않는다면 소수이며 나누어진다면 소수가 아니다. 그렇기에 나누어져서 몫이 없어지는 경우 소수가 아님을 말하듯 false를 return 하는 것이다