작성
·
102
0
isPrime 변수가 for문 밖에서 선언되면 73 만 소수로 구분되지 않습니다.
이렇게 오류가 발생하는 원인이 궁금해서 질문드립니다!!
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr){
let answer=[]; tmp = [];
for(let i of arr){
tmp.push(Number(String(i).split('').reverse().join('')))
}
let isPrime = true; // 73만 false로 구분
for(let i of tmp){
// let isPrime = true; // 정상적으로 소수 구별
if (i===1) isPrime = false;
else if (i===2) isPrime = true;
for (let j=2; j<i; j++){
if (i%j === 0) {
isPrime = false;
break;
}
}
if (isPrime) answer.push(i);
}
return answer;
}
let arr=[32, 55, 62, 20, 250, 370, 200, 30, 100];
console.log(solution(arr));
</script>
</body>
</html>