[ JavaScript ์๊ณ ๋ฆฌ์ฆ (ํ๋ก๊ทธ๋๋จธ์ค)] ์ฝ์์ ๊ฐ์์ ๋ง์
*
2023. 9. 5. 14:46ใ5. Algorithm
- ์ฝ์์ ๊ฐ์์ ๋ง์
1. ๋ฌธ์ ์ค๋ช
๋ ์ ์ left์ right๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. left๋ถํฐ right๊น์ง์ ๋ชจ๋ ์๋ค ์ค์์, ์ฝ์์ ๊ฐ์๊ฐ ์ง์์ธ ์๋ ๋ํ๊ณ , ์ฝ์์ ๊ฐ์๊ฐ ํ์์ธ ์๋ ๋บ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์
2. ์ ์ถ๋ ฅ ์

3. ์ ํ์ฌํญ
- 1 ≤ left ≤ right ≤ 1,000
4. ์
์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ค์ ํ๋ 13๋ถํฐ 17๊น์ง์ ์๋ค์ ์ฝ์๋ฅผ ๋ชจ๋ ๋ํ๋ธ ๊ฒ์ ๋๋ค.

- ๋ฐ๋ผ์, 13 + 14 + 15 - 16 + 17 = 43์ return ํด์ผ ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋ค์ ํ๋ 24๋ถํฐ 27๊น์ง์ ์๋ค์ ์ฝ์๋ฅผ ๋ชจ๋ ๋ํ๋ธ ๊ฒ์ ๋๋ค.

- ๋ฐ๋ผ์, 24 - 25 + 26 + 27 = 52๋ฅผ return ํด์ผ ํฉ๋๋ค.
[ ๋ด๊ฐํ ๋ฌธ์ ํ์ด ]
function solution(left, right) {
var answer = 0;
for(let i = left; i <= right; i++){
// left ๋ถํฐ right ๊น์ง์ ์ฝ์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ค.
let count = 0;
for(let j = 1; j <= Math.sqrt(i); j++){
// j๋ 1๋ถํฐ i๊น์ง์ ์ ๊ณฑ๊ทผ j๊ฐ ์ฝ์์ธ์ง๋ฅผ ํ์ธํด์ผํ๋ค.
if(i % j === 0) {
// ๋ง์ฝ i๊ฐ j๋ก ๋๋์ด๋จ์ด์ง๋ค๋ฉด ์ฝ์.
count++;
if(i / j != j) count++;
}
}
count % 2 === 0 ? answer += i : answer -= i;
// ์ฝ์์ ๊ฐ์๊ฐ ์ง์๋ฉด ๋ํ๊ณ ํ์์ด๋ฉด ๋บ๋ค.
}
return answer;
}
*๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ, ์ผ์ ์๊ฐ ์ด์์ด ์ง๋ ๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ์ฐธ๊ณ ํด์ ํ์๋ค. ๋ค์ํ๋ฒ ํ์ด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ์ผ๊ฒ ๋ค.
