ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
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));
'์๊ณ ๋ฆฌ์ฆ > ํ๊ทธ ๋ณ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์์ ํ์]์กธ์ ์ ๋ฌผ (0) | 2021.06.04 |
---|---|
[์์ ํ์]๋ฉํ ๋ง (0) | 2021.06.03 |
์๋ฆฟ์์ ํฉ (0) | 2021.05.31 |
๋ฌธ์์ด ์์ถ (0) | 2021.05.26 |
๊ฐ์ฅ ์งง์ ๋ฌธ์๊ฑฐ๋ฆฌ (0) | 2021.05.18 |