๐ ๋ฌธ์
์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n์ ์ฝ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ ์ ํ์ฌํญ
- 1 ≤ n ≤ 10,000
๐ ์ ์ถ๋ ฅ ์
n result
24 [1, 2, 3, 4, 6, 8, 12, 24]
29 [1, 29]
๐ ์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- 24์ ์ฝ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ ๋ฐฐ์ด [1, 2, 3, 4, 6, 8, 12, 24]๋ฅผ returnํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- 29์ ์ฝ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ ๋ฐฐ์ด [1, 29]๋ฅผ returnํฉ๋๋ค.
๐ง ํ์ด
function solution(n) {
// ์ฐ์ ์ฝ์๋ ํญ์ ๋ ๊ฐ์ฉ ํ ์์
// ๋ฐ๋ผ์ n์ ์ ๊ณฑ๊ทผ๊น์ง๋ง ํ์ํด๋ ๋ค ์ฐพ์ ์ ์์
let sqrt_n = parseInt(Math.sqrt(n));
let answer = [1, n];
for (let i = 2; i <= sqrt_n; i++) {
if (n % i == 0) {
answer.push(i);
answer.push(n / i);
}
}
// ์ ๊ณฑ๊ทผ์ด ๊ณง ์ฝ์์ผ ๋,
if (Math.sqrt(n) === sqrt_n) {
answer.pop();
}
return answer.sort((a, b) => (a - b));
}
'๐งฉ Algorithm > ๐ง JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ์ฅ ํฐ ์ ์ฐพ๊ธฐ (0) | 2023.04.13 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ํธ์ง (0) | 2023.04.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ ๋ฒ๋ง ๋ฑ์ฅํ ๋ฌธ์ (0) | 2023.04.12 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ธ๋ฑ์ค ๋ฐ๊พธ๊ธฐ (0) | 2023.04.12 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ด๊ฐ ์ซ์ด์ (0) | 2023.04.12 |