function solution(begin, end) {
let answer = [];
for (let i = begin; i <= end; i++) {
if (i === 1) {
answer.push(0);
continue;
}
let temp = 1;
for (let j = 2; j <= Math.sqrt(i); j++) {
if (i % j === 0 && i / j <= 1e7) { // ์ด ๋ถ๋ถ
temp = i / j;
break;
}
}
answer.push(temp);
}
return answer;
}
- 1๋ฒ๋ถํฐ 1,000,000,000๋ฒ๊น์ง ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ฃผ์ด์ง begin๊ณผ end index๋ก ๋ต์ ์ฐพ๋ ๊ฒ์ ์๋ ๊ฒ์ ๋๋ค.(๋ฉ๋ชจ๋ฆฌ ์ ๋๋ฌด ๋นํจ์จ์ )
- ๋ฌธ์ ์์ฒด๋ฅผ ์์ธํ ๋ณด๋ฉด ๊ฒฐ๊ตญ ๊ฐ๊ฐ์ ๋ธ๋ก ๋ฒํธ์ ์ฝ์ ์ค ๋ณธ์ธ์ ์ ์ธํ ๊ฐ์ฅ ํฐ ์ฝ์๊ฐ ์ค๊ฒ ํ๋ฉด ๋ฉ๋๋ค.
๋ฌธ์ ์์ฒด๋ ์ด๋ ต์ง ์์๋ฐ, ํจ์จ์ฑ ํ
์คํธ์์ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ์ด ์์ต๋๋ค.
์์ ์ฃผ์์์ '์ด ๋ถ๋ถ'์ ๋ณด์๋ฉด i / j <= 1e7์ธ๋ฐ, ์ด๊ฑด ๋ฌธ์ ์์ ๋ธ๋ก์ ๋ฒํธ 10,000,000๋ฒ๊น์ง ์์ ๊ท์น์ ์ ์ฉํ์๋ค๊ณ ํ๊ธฐ ๋๋ฌธ!
'๐ JavaScript > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์ฐ์ต๋ฌธ์ - ๋ค์ ํฐ ์ซ์ (0) | 2022.07.06 |
---|---|
[JS] ์ฐ์ต๋ฌธ์ - ์ฌ๋ฐ๋ฅธ ๊ดํธ (0) | 2022.07.06 |
[JS] ์ฐ์ต๋ฌธ์ - ํ๋ ฌ์ ๊ณฑ์ (0) | 2022.07.05 |
[JS] ์ฐ์ต๋ฌธ์ - ์ต์๊ฐ ๋ง๋ค๊ธฐ (0) | 2022.07.05 |
[JS] ์ฐ์ต๋ฌธ์ - ์ซ์์ ํํ (0) | 2022.07.05 |