인프런 커뮤니티 질문&답변
블루투포스 - 뒤집은 소수 답이 이상해요
작성
·
181
0
아래 코드를 작성해서 돌리면 답이 23, 55, 26, 52, 73이 나오는데..영상에서는 답이 23, 2, 73, 2, 3이 나와야 한다고 돼 있어서 뭐가 맞는지 모르겠어요...
'use strict';
console.clear();
function isPrime(num) {
let answer;
if (num === 1) answer = false;
for (let i = 2; i <= parseInt(num / 2); i++) {
if (num % i === 0) {
answer = false;
}
answer = true;
}
return answer;
}
function solution(nums) {
let answer = [];
for(let num of nums) {
let reversedNum = 0;
while(num) {
let one = num % 10; // 2
reversedNum = reversedNum * 10 + one; // add numbers in the reversed order
num = parseInt(num / 10); // 3
}
if (isPrime(reversedNum)) answer.push(reversedNum);
}
return answer;
}
let nums = [32, 55, 62, 20, 250, 370, 200, 30, 100];
console.log(solution(nums));
답변 1
0
김태원
지식공유자
안녕하세요^^
뒤집은 숫자가 소수(prime)일때만 그 뒤집은 숫자를 출력하는 것입니다.
님에 코드가 출력하는 23, 55, 26, 52, 73 는 소수가 아닌 55, 26, 52는 소수(prime)이 아닌데도 출력하고 있는 것입니다.
isPrime 함수가 잘못 작성되어 소수가 아닌데도 true를 리턴하고 있습니다.





