function solution(arr){
//소수 판별 코드
function primeNum(num){
if(num === 1) return false;
for(let i =2; i< num; i++){
if(num %i === 0) return false;
}
return true;
}
let answer = arr.map((item) => {
return Number(String(item).split("").reduce((a,b)=>b+a));
}).filter((item) => primeNum(item));
return answer;
}
하하... 개판이구만ㅋㅋㅋㅋㅋ
예 제가봐도 어거지로 풀었습니다...소수 판별 코드까지 만든건 좋았는데 뒤집는 부분에서 어떻게 할까 하다가 아주 그냥 죽을 쒔습니다 껄껄
숫자를 문자열로 치환하고 split을 사용해 배열로 만든다음에
reduce를 써서 다시 문자열로 만들었습니다, 그리고 나서 해당 숫자가 소수인지 판별했습니다, 사실 이전 문제에서 while 문을 사용해서 해보려고 했는데 실패했습니다 후... 나중에 다시 시도 해봐야겠어요
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=0;
while(x){
let t=x%10;
res=res*10+t;
x=parseInt(x/10);
}
if(isPrime(res)) answer.push(res);
}
return answer;
}
강사님 코드입니다, while 문 쓰셨더군요 네 코드 보고 복습할게요.... 다음 문제에서는 while 문 쓰겠습니다...
'알고리즘' 카테고리의 다른 글
멘토링(블루투포스) (0) | 2022.07.14 |
---|---|
자릿수의 합 (0) | 2022.07.13 |
문자열 압축 (0) | 2022.07.12 |
문자거리 (0) | 2022.07.12 |