function solution(n) {
const result = [];
primeFactorization(n, result);
const set = new Set(result);
return [...set];
}
const primeFactorization = (num, arr) => {
while (num % 2 === 0) {
num = num / 2;
arr.push(2);
}
for (let i = 3; i <= Math.sqrt(num); i += 2) {
while (num % i === 0) {
arr.push(i);
num = num / i;
}
}
if (num > 2) arr.push(num);
};
- ์์ธ์๋ฅผ ๋ชจ๋ ๊ตฌํด์ set์ผ๋ก ์ค๋ณต์ ์ ๊ฑฐํ๊ณ ๋ฐฐ์ด๋ก ๋ณํํด์ ์ ์ถ.
ํผ๋๋ฐฑ
function solution(n) {
const primeSet = primeFactorization(n);
return [...primeSet];
}
const primeFactorization = (num) => {
const set = new Set();
while (num % 2 === 0) {
num /= 2;
set.add(2);
}
for (let i = 3; i <= Math.sqrt(num); i += 2) {
while (num % i === 0) {
set.add(i);
num /= i;
}
}
if (num > 2) set.add(num);
return set;
};
- primeFactorization ํจ์์์ 2๋ฒ์งธ ์ธ์๋ก ๋ฐฐ์ด์ ๋ฐ์์ ์์ pushํด์ ๋ฐฐ์ด์ ์ง์ ๋ฐ๊พธ๋ ํ์์ ์ด์ฉํ๊ณ ์์๋๋ฐ ์ด๊ฒ ์ฌ์ด๋์ดํํธ ์ด๊ณ ์ด๋ ๊ฒ ์ง์ ์ ์ด๊ฒ ๋ณํ์ํค๋๊ฑด ์ง์ํ๋๊ฒ ์ข๋ค.
- ๋์์ผ๋ก ํจ์ ๋ด๋ถ์ set์ ์์ฑํด์ add๋ฅผ ์งํํด์ฃผ๊ณ ๋ง์ง๋ง์ set์ ๋ฐํํด์ฃผ๋๊ฒ ๋ ์ข์๋ฐฉ๋ฒ๐
'์๊ณ ๋ฆฌ์ฆ & ๋ฌธ์ ํ์ด > Programmers-0' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ง๋ฃ์์ ์ ํ๊ธฐ (0) | 2022.10.19 |
---|---|
๋ค์์ ์ฌ ์ซ์ (0) | 2022.10.19 |
๊ตฌ์ฌ์ ๋๋๋ ๊ฒฝ์ฐ์ ์ (0) | 2022.10.19 |
์ปจํธ๋กค ์ ํธ (0) | 2022.10.19 |
๋ฌธ์์ด ๊ณ์ฐํ๊ธฐ (0) | 2022.10.19 |