function primeIs(num) {
if(num < 2) return false;
let sqrt = parseInt(Math.sqrt(num));
for(let i = 2; i<=sqrt; i++) if(num % i === 0) return false;
return true;
}
let arr=[32, 55, 62, 20, 250, 370, 200, 30, 100];
let answer = [];
let arr2 = arr.map((n)=> {
let m = String(n);
let tmp = ""
for(let i of m) tmp = i + tmp;
return tmp;
})
for(let j of arr2) if(primeIs(Number(j))) answer.push(Number(j));
console.log(answer);
function isPrime(num){
if(num===1) return false;
for(let i=2; i<=parseInt(Math.sqrt(num)); i++){
if(num%i===0) return false;
}
return true;
}
function solution(arr){
let answer=[];
for(let x of arr){
let res=Number(x.toString().split('').reverse().join(''));
if(isPrime(res)) answer.push(res);
}
return answer;
}
let arr=[32, 55, 62, 20, 250, 370, 200, 30, 100];
console.log(solution(arr));
<소수를 구하는법>
제곱근을 구하는법: Math.sqrt()
ex
55가 소수인지 아닌지 판별
1. 55의 제곱근을 구한다. -> Math.sqrt(55) -> 7.416198487095663
2. 제곱근의 소수를 제거한다. -> parseInt(7.416198487095663) -> 7
3. 2 ~ 7까지 숫자를 55에 나누어본다.
4. 하나라도 나머지가 0이나오면 소수X(false), 그렇지않으면 소수(true)이다.
for(let i=2; i<=7; i++){
if(55%i === 0) return false;
else if return true;
}
parseInt()과 Math.floor의 공통점과 차이점