λ€μ§μ μμ
λ¬Έμ
Nκ°μ μμ°μκ° μ λ ₯λλ©΄ κ° μμ°μλ₯Ό λ€μ§μ ν κ·Έ λ€μ§μ μκ° μμμ΄λ©΄ κ·Έ μμλ₯Ό μΆλ ₯νκ³ μ νλ€. μλ₯Ό λ€μ΄ 32λ₯Ό λ€μ§μΌλ©΄ 23μ΄κ³ , 23μ μμμ΄λ€. κ·Έλ¬λ©΄ 23μ μΆλ ₯νλ€.(첫 μ리λΆν°μ μ°μλ 0μ 무μνλ€)
λ¬Έμ νμ΄
λ€μ§μ μμ°μλ₯Ό ꡬνκΈ° μν΄μ ν΄λΉ μμ°μλ₯Ό 10μΌλ‘ λλ λλ¨Έμ§μ κ°μ μ°¨λ‘λ‘ μλ‘μ΄ λ°°μ΄μ μ μ¬ν΄ μ£Όμκ³ μ΄λ₯Ό λ°°μ΄μ κ΅¬λΆ μ°μ°μλ₯Ό ν΅ν΄ ν©μ³ μ€ λ€ Number()λ₯Ό μ¬μ©νμ¬ μμ°μλ‘ λ°κΏμ£Όμλ€.
μμλ 1κ³Ό μμ λ§μΌλ‘ λλμ΄ λ¨μ΄μ§λ μ μμ΄λ€.
μ΄μ λ°λ³΅λ¬Έμ ν΅ν΄ ν΄λΉκ°μ 2~(ν΄λΉκ° - 1)λ§νΌ λ²μ λ΄μ μλ κ°μΌλ‘ λλμ΄ μ‘μ λλ κ·Έλλ‘ λ°λ³΅λ¬Έμ μ’ λ£νλ€. λ§μ½μ λ°λ³΅λ¬Έ μ’ λ£λ μ΄ν μΈλ±μ€ iμ κ°μ΄ ν΄λΉκ°κ³Ό λκ°λ€λ©΄, μ λ²μ λ΄μμ λλ μ μλ κ°μ΄ μλ€λ μλ―Έλ‘ μ΄ κ°μ μμλ‘ νλ³ν μ μλ€.
μ½λ
function solution(...arr) {
let answer = [];
for (let x of arr) {
let reverseNum = [];
let i;
while (x) {
reverseNum.push(Math.floor(x % 10));
x = Math.floor(x / 10);
}
let tmp = Number(reverseNum.join(""));
for(i = 2; i < tmp; i++) {
if(tmp % i === 0) break;
}
if(i === tmp) answer.push(tmp);
}
return answer;
}
console.log(solution(32, 55, 62, 20, 250, 370, 200, 30, 100));
λ¬Έμ νμ΄2
λ€μ§μ μμ°μλ₯Ό ꡬνκΈ° μν΄μ κ° μλ¦Ώμκ° νμ리μ©λ§λ€ μ¬λΌκ° λλ§λ€ κ° μ리μμ κ°μ΄ 10μ μ κ³±μλ§νΌ μ¬λΌκ°λ μμ§λ²μ νΉμ±μ μ΄μ©ν΄ κ³μ°νμλ€.
μμ νλ³ μ, κ·Έ λ²μλ₯Ό ν΄λΉκ°μ μ κ³±κ·ΌκΉμ§λ§ λ°λ³΅λ¬Έ λ΄μμ νμνλλ‘ νμλ€.μ½μλ μ κ³±κ·Όμ κΈ°μ μΌλ‘ μμ μμ λ€μ μκ° λ°λ μ±λ‘ μ΄μ κ³Ό λμΌνκ² λ°λ³΅λκΈ° λλ¬Έμ μ΄μ μ μ°Έμ‘°ν μ½μμ λν΄μ νλ² λ μ°Έμ‘°ν΄μ μλ³ν νμλ μλ€.
<1 × 16> <2 × 8> <4 × 4> <8 × 2>...
μ½λ
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;
}
let arr=[32, 55, 62, 20, 250, 370, 200, 30, 100];
console.log(solution(arr));