ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ

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));
๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2024/10   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ