728x90
๋ฐ์ํ
๐ ๋ฌธ์
N๊ฐ์ ์์ฐ์๊ฐ ์ ๋ ฅ๋๋ฉด ๊ฐ ์์ฐ์๋ฅผ ๋ค์ง์ ํ ๊ทธ ๋ค์ง์ ์๊ฐ ์์์ด๋ฉด ๊ทธ ์์๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค. ์๋ฅผ ๋ค์ด 32๋ฅผ ๋ค์ง์ผ๋ฉด 23์ด๊ณ , 23์ ์์์ด๋ค. ๊ทธ๋ฌ๋ฉด 23์ ์ถ๋ ฅํ๋ค.
๋จ, 910์ ๋ค์ง์ผ๋ฉด 19๋ก ์ซ์ํ ํด์ผ ํ๋ค. ์ฒซ ์๋ฆฌ๋ถํฐ์ ์ฐ์๋ 0์ ๋ฌด์ํ๋ค.
์ฐธ๊ณ ์ฌํญ
1๏ธโฃ 2 ์ด์์ธ ์์ฐ์๋ฅผ 2๋ถํฐ ํด๋น ์์ฐ์์ ์ ๊ณฑ๊ทผ๊น์ง ๋๋์์ ๋ ๋๋จธ์ง ๊ฐ์ผ๋ก 0์ด ๋์ค์ง ์๋๋ค๋ฉด ํด๋น ์์ฐ์๋ ์์์ด๋ค.
2๏ธโฃ ์์๋ง์ ์ด์ฉํ์ฌ ์์ฐ์๋ฅผ ๋ค์ง๋ ๋ฐฉ๋ฒ
- ๋ค์ง์ ์๋ฅผ ์ ์ฅํ res๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
- ์์ฐ์(x)๋ฅผ 10์ผ๋ก ๋๋ ๋๋จธ์ง(t)๋ฅผ ๊ฐ์ง๊ณ ๋ค์ ์์(res = res * 10 + t)์ ๊ฒฐ๊ณผ๋ฅผ res์ ์ ์ฅํ๋ค.
- ์์ฐ์๋ฅผ 10์ผ๋ก ๋๋ ๋ชซ์ ์ ์ํ์ผ๋ก ๋ณํํ ํ ์์ฐ์๊ฐ ์ ์ฅ๋ x์ ์ฌํ ๋นํ๋ค.
- x๊ฐ 0์ด ๋ ๋๊น์ง ์์ 2~3 ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค๊ฐ 0์ด ๋๋ฉด while ๋ฌธ์ ๋น ์ ธ๋์จ๋ค.
๐ ํ์ด
๐ง๐ป๐ป ๋์ ํ์ด ๋ฐฉ๋ฒ
- split(), reverse(), join() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ฐ์๋ฅผ ๋ค์ง๋๋ค.
- isPrime() ํจ์๋ฅผ ํตํด ์์๋ฅผ ํ๋ณํ๊ณ ์์์ผ ๊ฒฝ์ฐ answer์ ํด๋น ์์๋ฅผ ํธ์ํ๋ค.
// ์์๋ฅผ ํ๋ณํ๋ ํจ์
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) {
const num = parseInt(String(x).split('').reverse().join(''));
if (isPrime(num)) answer.push(num);
}
return answer.join(' ');
}
let arr = [32, 55, 62, 20, 250, 370, 200, 30, 100];
console.log(solution(arr));
๐จ๐ผ๐ซ ๊ฐ์ฌ๋ ํ์ด ๋ฐฉ๋ฒ
- ์ฐธ๊ณ ์ฌํญ 2๋ฒ๊ณผ ๊ฐ์ด ์์๋ง์ ์ด์ฉํ์ฌ ์์ฐ์๋ฅผ ๋ค์ง๋๋ค.
- isPrime() ํจ์๋ฅผ ํตํด ์์๋ฅผ ํ๋ณํ๊ณ ์์์ผ ๊ฒฝ์ฐ answer์ ํด๋น ์์๋ฅผ ํธ์ํ๋ค.
function isPrime(num) {
if (num === 1) return false;
for (let i = 2; i <= 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));
'Algorithm > ์ธํ๋ฐ(inflearn)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript/section 4] 04 - ์กธ์ ์ ๋ฌผ (0) | 2022.09.15 |
---|---|
[JavaScript/section 4] 03 - ๋ฉํ ๋ง (0) | 2022.09.14 |
[JavaScript/section 4] 01 - ์๋ฆฟ์์ ํฉ (0) | 2022.09.14 |
[JavaScript/section 3] 05 - ๋ฌธ์์ด ์์ถ (0) | 2022.09.13 |
[JavaScript/section 3] 04 - ๊ฐ์ฅ ์งง์ ๋ฌธ์๊ฑฐ๋ฆฌ (0) | 2022.09.13 |