๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Javascript] ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ (77884)

๋ฌธ์ œ๋งํฌ

์ ‘๊ทผ ๋ฐฉ๋ฒ•

์ž‘์€ ์ˆ˜์™€ ํฐ ์ˆ˜ ์‚ฌ์ด์˜ ์ •์ˆ˜๋“ค์„ 2์ค‘ for๋ฌธ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ

1๋ฒˆ์งธ for๋ฌธ์—๋Š” left์™€ right์‚ฌ์ด์˜ ์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•˜๊ณ 

2๋ฒˆ์งธ for๋ฌธ์—๋Š” ๊ทธ ์ˆ˜์˜ ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‹ด์€ count๊ฐ€ 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด answer์— ๊ทธ ์ˆ˜๋ฅผ ๋”ํ•˜๊ณ  ์•„๋‹ˆ๋ฉด ๋บ€๋‹ค.

 

function solution(left, right) {
    var answer = 0;
    let count = 0;
    
    for(let i = left; i <= right; i++){
        for(let j = 1; j <= i; j++){
            if(i % j === 0) {
                count++;
            }
        }
        count%2===0 ? answer += i : answer -= i;
        count = 0;
    }   
    
    return answer;
}